Changelog

This page contains notable changes made to the SDK

April 5, 2021 - v5.5

API:

  • Added the ability to save a video of the document recognition process.

  • Added the ability to use the FullAuth scenario in multipage mode.

  • Added the ability to set the mode via checkRequiredTextFields parameter where field validity would be set to failed if the required field value is missing in Visual OCR.

  • Added new values to the RGLFieldTypeparameter

    • RGLFieldTypeFt_DLClassCode_CA_Notes

    • RGLFieldTypeFt_Citizenship_Status

    • RGLFieldTypeFt_Military_Service_From

    • RGLFieldTypeFt_Military_Service_To

  • DocumentReaderResults now contains an array of DocumentPosition, BarcodePosition, MRZPosition, and ImageQualityGroup items with information for each document page that was read, where available

  • Added interactive documentation inside the SDK (Option + tap in XCode)

  • getTextFieldValueByType function call with LCID parameter returns nil if the value with such LCID is not presented in the results

  • RFID chip reading works correctly without first scanning the document, if the MRZ or CAN key is pre-set

  • Fixed the operation of the completion block in the stopRFIDReader function

  • Fixed the rendering position of the help animation and the multipage mode animations

  • Fixed the position of custom statuses (status and resultStatus), now they are displayed in the center

  • Fixed issue with Capture scenario when using the 1120 device

Core:

  • Document detection and crop

    • Fixed issue with locating already cropped documents in FullAuth scenario

    • Fixed issue with locating documents on backgrounds with multiple lines aligned with the document edges

    • Fixed issue with locating two sides of ID card on one image

    • Fixed issue with locating documents on non-contrast backgrounds

  • OCR

    • Greatly improved bank cards OCR

    • Improved OCR of perforated fields

  • MRZ

    • Added new parsers:

      • Pakistan ID card

    • Updated parsers:

      • Austrian residence permit

      • EU residence permit

      • France ID card

      • Kazakhstan Residence permit

      • Malta ID card

      • Norway ID card

      • Poland ID card

    • Fixed issue with incorrect MRZ detection on some images

    • Fixed issue with incorrect symbol probabilities in some cases

    • Fixed issue with 1-line MRZ in DL parsing

  • Barcode

    • Added new parsers:

      • Belarus ID card

      • Colombia DL

      • France ID card

      • Ghana Voter card

      • Nigeria Voter card

      • Pakistan ID card

    • Updated parsers:

      • Korea Alien registration card

      • Moldova ID card

    • Fixed issue with code types for recognition filter

  • Text data parsing and validation

    • Added capability to verify date of issue validity based on document template activity term

    • Added capability for Italy tax code validation

    • Added capability for comparison of the field value from one source with abbreviature of this value from another source

    • Added XXK nationality code for Kosovo

    • Fixed issue with comparison between MRZ and Visual for document without expiration date

    • Fixed issue with probabilities for transliterated fields: they will have probability of original field

    • Fixed issue with German Ü letter transliteration

    • Fixed issue with composite surnames comparison where last part is missing in MRZ

    • Fixed issue with measure units on locale change

    • Fixed issue with RGLFieldTypeFt_Date_First_Renewal and RGLFieldTypeFt_Date_Second_Renewal fields validity

  • Image QA

    • Improved focus detection NN

    • Improved algorithm for detection of colorless images

  • Authenticity

    • Added new algorithm for obtaining correct IR image on 7310 devices

    • Implemented correct processing of all authenticity checks in FullAuth scenario

    • Improved IR visibility check for photo area, where grayscale photo should look the same in visible and IR

    • Improved variable patterns check for documents with a lot of UV luminescence

    • Fixed issue with hologram checks on series of frames

  • Added support of reading data from both sides of bank cards

  • Added support of single page (back page) data bank cards

  • Improved processing of bank cards: now it is payment system agnostic

  • Fixed issue with input images page indexes. Now they will be set automatically and correctly if missing

  • Code quality improved with lots of small issues fixed

  • RFID

    • Fixed issue with different .ldif format support

    • Fixed issue with parsing certificates on different platforms

Database:

  • Added to templates in whole database where applicable:

    • Perforated text fields

    • Hologram areas and checks

    • Activity term for template

    • Extended description for visible patterns

    • Barcode format check parameters

    • IR visibility for portraits, where they are the same in visible and IR

  • 248 countries and territories / 9331 documents included

  • 179 new documents added

Added the source code for the extended Document Reader SDK usage sample on GitHub

January 18, 2021 - v5.4

API:

  • Added document authentication based on the detection of the presence of a hologram

  • Updated document image for NFC chip reading activity animation for USA passport which can be read only when passport book is open

  • Added the RGLDocumentReaderErrorCode class to reflect licensing errors that may occur during initialization

  • Added new values to the RGLCheckDiagnose parameter:

    • RGLCheckDiagnosePhotoWhiteIRDontMatch

    • RGLCheckDiagnoseFieldPosCorrector_GlaresInPhotoArea

    • RGLCheckDiagnoseHologramFramesIsAbsent

    • RGLCheckDiagnoseHologramHoloFieldIsAbsent

    • RGLCheckDiagnoseFingerprintsComparisonMismatch

    • RGLCheckDiagnoseHoloPhotoFaceNotDetected

    • RGLCheckDiagnoseHoloPhotoFaceComparisonFailed

    • RGLCheckDiagnoseHoloPhotoFaceGlareInCenterAbsent

    • RGLCheckDiagnoseHoloElementShapeError

    • RGLCheckDiagnoseAlgorithmStepsError

    • RGLCheckDiagnoseHoloAreasNotLoaded

    • RGLCheckDiagnoseFinishedByTimeout

    • RGLCheckDiagnoseLastDiagnoseValue

  • Updated enumeration values of RGLImageQualityCheckType

  • Fixed an issue in the frame buffering operation, in which a frame from the buffer of the previous session of the controller's camera operation could be used

  • Fixed an issue that could occur during camera configuration when using the camera controller as a child view controller

Core:

  • Document detection and crop

    • Added Boolean flag processParam.fastDocDetect to shorten the list of candidates to process during document detection in a single image process mode. Enabled by default. This solves the issue introduced in 5.2, that lead to significantly longer processing times on the images with specific backgrounds

    • Improved ID2 MRZ documents cropping in some cases

  • OCR

    • Added support for Amharic (fidäl / Ephiopian)

    • Added support for perforated numbers OCR (different fonts, straight and mirror)

    • Added Boolean flag processParam.checkRequiredTextFields. When enabled, each field in template will be checked for value presence and if the field is marked as required, but has no value, it will have "error" in validity status. Disabled by default

    • Added Boolean flag processParam.updateOCRValidityByGlare. When enabled, OCR field validity will be updated with | tr_GlaresOnField value, if there is a glare over the text field on the image. Disabled by default

    • Improved Latin NN

    • Improved Hebrew NN

  • Barcode

    • Updated Peru ID Card parser

    • Fixed issue with multiple pages processing

  • Text data parsing and validation

    • Implemented conversion from ROC dates (Minguo) into Gregorian

    • Fixed issue with DL class field comparison between barcode and visual

    • Fixed issue with incorrect validity for dates in Hijri

  • Image QA

    • Added new Resolution assessment check. Should be above threshold (150 ppi), otherwise the check will fail. Can be set via processParam.imageQA.dpiThreshold

    • Added new Perspective angle assessment check. Should be below threshold (5 degrees), otherwise the check will fail. Can be set via processParam.imageQA.angleThreshold

    • Added new Documents bounds inside the image check. All document corners should be inside the image, otherwise the check will fail

  • Authenticity

    • Added support for hologram presence detection by analysis of multiple frames

    • Improved patterns check for visible and IR light images

    • Improved patterns check for Russian Federation domestic passport

    • Fixed issue with AV on specific images in IR visibility check

  • Fixed issue with 1- and 8-bit images processing

  • Code quality improved with lots of small issues fixed

Database:

  • 246 countries and territories / 9152 documents included

  • 193 new documents added

  • For details see Supported documents list

November 5, 2020 - v5.3

API:

  • Added the ability to change the zoom on the scanning screen (isZoomEnabled)

  • Added the ability to set the starting zoom factor for the scanning screen (zoomFactor)

  • Added the ability to change the size of the toolbar (toolbarSize)

  • Added the ability to get cut-out images of barcodes when working without a document description (returnCroppedBarcode)

  • Added new localizations: Bengali, Dutch, Finnish, Greek, Hebrew, Hindi, Japanese, Korean, Malay, Swedish

  • The jsonResult property has been replaced with the rawResult string property in DocumentReaderResults, which contains the original JSON string

  • Added new values to the RGLFieldType parameter:

    • RGLFieldTypeFt_Date_of_Insurance_Expiry

    • RGLFieldTypeFt_Mortgage_by

    • RGLFieldTypeFt_Old_Document_Number

    • RGLFieldTypeFt_Old_Date_of_Issue

    • RGLFieldTypeFt_Old_Place_of_Issue

    • RGLFieldTypeFt_DLClassCode_LR_From

    • RGLFieldTypeFt_DLClassCode_LR_To

    • RGLFieldTypeFt_DLClassCode_LR_Notes

    • RGLFieldTypeFt_DLClassCode_MR_From

    • RGLFieldTypeFt_DLClassCode_MR_To

    • RGLFieldTypeFt_DLClassCode_MR_Notes

    • RGLFieldTypeFt_DLClassCode_HR_From

    • RGLFieldTypeFt_DLClassCode_HR_To

    • RGLFieldTypeFt_DLClassCode_HR_Notes

    • RGLFieldTypeFt_DLClassCode_HC_From

    • RGLFieldTypeFt_DLClassCode_HC_To

    • RGLFieldTypeFt_DLClassCode_HC_Notes

    • RGLFieldTypeFt_DLClassCode_MC_From

    • RGLFieldTypeFt_DLClassCode_MC_To

    • RGLFieldTypeFt_DLClassCode_MC_Notes

    • RGLFieldTypeFt_DLClassCode_RE_From

    • RGLFieldTypeFt_DLClassCode_RE_To

    • RGLFieldTypeFt_DLClassCode_RE_Notes

    • RGLFieldTypeFt_DLClassCode_R_From

    • RGLFieldTypeFt_DLClassCode_R_To

    • RGLFieldTypeFt_DLClassCode_R_Notes

    • RGLFieldTypeFt_DLClassCode_CA_From

    • RGLFieldTypeFt_DLClassCode_CA_To

    • RGLFieldTypeFt_DLClassCode_CA_Notes

  • Deprecated RGLFieldType enum member RGLFieldTypeFt_MRZ_Strings_With_Correct_CheckSums

  • Added new values to the RGLCheckDiagnose parameter:

    • RGLCheckDiagnosePortraitComparisonNoPortraitDetected

    • RGLCheckDiagnoseMobileImagesUnsuitableLightConditions

    • RGLCheckDiagnoseMobileImagesWhiteUVNoDifference

    • RGLCheckDiagnoseLastDiagnoseValue

  • Fixed a bug with the incorrect return of an error when processing an RFID chip.

Core:

  • Document detection and crop

    • Improvements in single image process algorithm with more precise cropping

    • Fixed issues with incorrect cropping by inner document lines instead of outer in some cases

    • Fixed issue with cropping large document formats like birth/marriage certificates

    • Fixed issue with incorrect cropping documents with MRZ in some cases

  • Document type recognition

    • New functionality implemented in template description that allows more precise document cropping and resolution determination

    • Fixed issue with MRZ filter for IDL

    • Fixed issue with documentIDList filter working incorrectly

  • OCR

    • Added support for Farsi, Kashmiri, Konkani, Marathi, Sanskrit, Sindhi, Punjabi languages

    • Arabic, Hindi, and Thai languages reading quality greatly improved

    • Added Arabic and Persian numbers correct support

    • Added capability to ignore field mask on recognition when matchTextFieldMask is set to false. By default, we are trying to read a field value with maximum efforts to match the mask and provide a correctly formatted value, making assumptions based on the provided field mask. In case this parameter is disabled, OCR will be done as is and then the recognized value will be matched to the field mask for validity

    • Updated Cyrillic NN with better recognition probability

    • Fixed issue with Latin characters in right-to-left strings (Hebrew, Arabic, etc.) leading to incorrect text direction (RTL, LTR markers)

    • Fixed issue with incorrect recognition probability (over 100)

  • MRZ

    • Added new parsers:

      • Malaysia visa

      • South Sudan ID car

    • Updated parsers

      • Azerbaijan Permanent Resident Card

      • Iceland Residence permit

      • Kenia ID card

      • Mexico ID card

      • Mexico Voting card

      • New Zealand passport

      • Peru ID card

      • USA & CAN Enhanced Driving License

      • USA Permanent Resident Card

      • USA Visa

    • Improved reading of images with color noise over MRZ

    • In IDL with 1-line MRZ, the first character “D” is now always parsed as RGLFieldTypeFt_Identifier instead of RGLFieldTypeFt_Document_Class_Code

  • Barcode

    • Added output of the RGLGraphicFieldTypeGf_BarCode graphic field with barcode image for unknown documents, where the barcode was detected and read

    • Updated New York Enhanced Driving License parser

    • Updated US DL parsers – zip code is output with trailing zeros

    • Updated US DL parsers – full names are divided into parts using spaces and commas correctly

    • Fixed issue with Peru ID card data parsing

    • Fixed Brazil ID card consular parser

    • Fixed issue with Code 128 decoding on some samples

    • Fixed rare issue with an extra character added on PDF417 decoding

    • Fixed issue with data parsing of a specific boarding pass leading to an exception

    • Fixed issue with reading multiple codes in series processing, when one code read on one frame, and the other on a different frame

    • Removed RGLFieldTypeFt_PDF417Codec field generation

    • Optimized processing in series and with multiple-page documents

  • Text data parsing and validation

    • Added correct LCID for fields from RFID DG11 and DG12 for all countries instead of always Latin

    • Added check digit calculation for the Swiss health insurance card

    • Added parsing possibility for Australia DL categories that are dynamically printed on the document

    • Fixed issue with visual vs MRZ comparison for field values that contain Ü. For some countries, MRZ contains UE and for some U

    • Fixed issue with Slovenian Ć transliteration for MRZ comparison

    • Fixed issue with Russian Domestic passport date of expiry validation if the passport was renewed just before 45 years of age

    • Reverted ^ symbol removal in RGLFieldTypeFt_Surname, RGLFieldTypeFt_Given_Names and RGLFieldTypeFt_Surname_And_Given_Names in lexical analysis results. If you need to remove this symbol from a field value, please do this on the client’s side, as this symbol helps to distinguish, for example, between the first and second surnames in some documents

  • Authenticity

    • Fixed issue with Barcode format check result was not available in case barcode should be present in document but cannot be detected or read

  • Added parameter imageDpiOutMin for input resolution adjustment in case, it is too small. By default, the image will be resized up to 200 dpi if it has less resolution. This parameter cannot be less than 100

  • Improved PNG saving speed

  • Fixed issue with incorrect rotation after incorrect face detection

  • Fixed input JSON validation for the correctness

  • Fixed issue with process timeout when processing single images. Now it is ignored

  • Fixed issue with no graphic results available in output if timeout reached

  • Fixed issue with the calculation of PA status by also checking ReadingStatus of the files

Database:

  • 246 countries and territories / 8983 documents included

  • 185 new documents added

  • For details see Supported documents list

August 6, 2020 - v5.2

API:

  • Added the ability to select a mode of the recognition process (captureMode):

  • Added the ability to set the maximum time for document recognition, after which the recognition process ends automatically (timeout)

  • In some scenarios, you can manually correct the borders of the detected document when using the automatic recognition mode via the showScanner function (manualCrop)

  • In some scenarios, you can manually correct the borders of the detected document when using the recognizeImage function (manualCrop)

  • Added the ability to limit the document tilt angle (perspectiveAngle)

  • Added the ability to set the minimum allowed DPI of a document in the image (minDPI)

  • Added the ability to display metadata while reading a document (showMetadataInfo)

  • Added the ability to get an integral image (integralImage)

  • Added SDK localization in 8 new languages: Italian, Polish, Arabic, Vietnamese, Czech, Portuguese, Thai, Turkish

  • Added a new function getTextFieldValueByType to quickly get values from the results by specifying RGLFieldType and RGLResultType

  • Added a new function getTextFieldValueByType to quickly get values from the results by specifying RGLFieldtype, RGLResultType and original properties

  • Added a new function getTextFieldValueByType to quickly get values from the results by specifying RGLFieldtype and original properties.

  • In RGLDocumentReaderResults, added the morePagesAvailable status indicating that the document contains other pages

  • In RGLDocumentReaderResults, added the time spent on reading the document RFID chip (elapsedTimeRFID)

  • In RGLDocumentReaderResults, added the time spent on document recognition (elapsedTime)

  • In RGLDocumentReaderResults, added a new property processingFinishedStatus indicating the current status of the recognition process (RGLProcessingFinishedStatus))

  • In RGLDocumentReaderValue, added a new property indicating recognition probability (0%-100%) (probability)

  • Added new values to the RGLFieldType parameter:

    • RGLFieldTypeFt_URL

    • RGLFieldTypeFt_Caliber

    • RGLFieldTypeFt_Model

    • RGLFieldTypeFt_Make

    • RGLFieldTypeFt_NumberOfCylinders

    • RGLFieldTypeFt_SurnameOfHusbandAfterregistration

    • RGLFieldTypeFt_SurnameOfWifeAfterRegistration

    • RGLFieldTypeFt_DateOfBirthOfWife

    • RGLFieldTypeFt_DateOfBirthOfHusband

    • RGLFieldTypeFt_CitizenshipOfFirstPerson

    • RGLFieldTypeFt_CitizenshipOfSecondPerson

    • RGLFieldTypeFt_CVV

  • Redesigned the error structure when working with the SDK, now most errors are returned as NSError objects

  • Fixed minor issues

Core:

  • Added capability to read both sides of bank cards in CreditCard scenario (multipageProcessing)

  • Added correct depersonalization support for all platforms with applying blur over the field areas. Depersonalization configuration options extended with allTextFields and allGraphicFields (dePersonalize)

  • Document type recognition:

    • Improved with new NN under the hood. Smaller size, better quality results

    • New functionality implemented to better differentiation between document series based on document data

  • OCR:

    • Added support for Arabic, Bengali, Korean, Hindi, Sinhala, Tamil, and Thai languages

    • Refactored to optimize and remove redundant code and make it smaller in size

    • Fixed issue with Azeri Ə character returned Cyrillic instead of Latin

  • MRZ:

    • Added new parsers:

      • Armenia visa

      • Saudi Arabia visa

    • Updated parsers:

      • Kuwait ID card

      • Romania ID card

    • Improved reading on images with color noise over MRZ

    • Fixed issue with setting validity for the fields that were not actually validated

  • Barcode:

    • Updated Guatemala Passport parser

    • Fixed issue with Qatar ID card code reading

  • Text data parsing and validation:

    • Added content validation for Romanian CNP number (personal number)

    • Added date validation for RGLFieldTypeFt_DateOfBirthOfWife & RGLFieldTypeFt_DateOfBirthOfHusband fields

    • Added separate calculated RGLFieldTypeFt_Category field when processing bank cards number presenting issuer payment system

    • Fixed issues with parsing registration stamp data into specific fields for Russian Federation domestic passports

    • Fixed issue with visual vs MRZ comparison for values that contain

    • Fixed issue with ^ symbol in RGLFieldTypeFt_Surname, RGLFieldTypeFt_Given_Names and RGLFieldTypeFt_Surname_And_Given_Names in lexical analysis results

  • Image QA

    • Image quality assessment NNs (focus and glares) were updated for better result quality, smaller size, and improved performance

    • Glare presence over text fields prevents process series finish in OCR enabled scenarios

  • Code quality improved with lots of small issues fixed

June 6, 2020 - v5.1

API:

  • Added capability of reading the document's RFID chip.

  • Added the ability to change the standard images of the following buttons:

    • Torch button

    • Close button

    • Capture button

    • Change frame button

    • Camera switch button

  • Added capability of changing camera frame corners radius.

  • Added capability of changing the design type of the beginning and end of the camera frame line.

  • Added capability of changing the margin between the camera frame and the preview edge.

  • Added capability of changing aspect ratio of the camera frame.

  • Added capability of changing the layout position of the camera frame.

  • Added capability of creating your custom status in the camera window, as well as setting the position for it.

  • Added the ability to set the type of barcode parser (barcodeParserType).

  • Added capability of accessing the document's RFID chip using CAN.

  • Added processing of critical errors that may occur when processing an RFID chip, such as an invalid key (MRZ, CAN), after which the scanning session should be interrupted.

  • Added capability of reading the document spread (doublePageSpread).

  • Added dark theme support for all UI elements.

  • Added capability of deleting a database from a device (db.dat) (removeDatabase).

  • Added the ability to cancel database downloads while performing the prepareDatabase and runAutoUpdate functions (cancelDBUpdate).

  • Added capability of using external certificates (addPKDCertificates) - they can be added both during initialization and in runtime. Also added the ability to delete certificates from memory (clearPKDCertificates).

  • Implemented serialization and deserialization of the DocumentReaderResults object.

  • Added capability of processing multiple document images (recognizeImages).

  • Added capability of saving the RFID session for debugging (debugSaveRFIDSession).

  • Added capability of changing the standard strings localization when integrating the SDK inside the dynamic framework.

  • Added barcode format check, the results of which are returned to RGLDocumentReaderAuthenticityResult.

  • Added rfidScenario property.

  • Added the following Core types: MRZRFID, BarcodeMRZRFID, OCRRFID, FullRFID.

  • Available scenarios for document processing are presented as constants in the RGLExternalConstants file.

  • Updated error statuses associated with the license.

  • Fixed issues in the operation of the prepareDatabase and runAutoUpdate functions.

  • Fixed logic of isCameraSessionIsPaused.

  • Updated RGLPosition properties.

  • Fixed generation of final results. Now RGLDocumentReaderTextField contains RGLDocumentReaderValue values from all pages of the read document for all RGLResultType result types.

  • Added new LCID enum members:

    • RGLLCIDArabicArmenian,

    • RGLLCIDChineseHongKongSAR,

    • RGLLCIDChineseMacaoSAR,

    • RGLLCIDChineseSingapore,

    • RGLLCIDChineseTaiwan,

    • RGLLCIDDivehi,

    • RGLLCIDGujarati,

    • RGLLCIDHindiIndia,

    • RGLLCIDJapanese,

    • RGLLCIDKannada,

    • RGLLCIDKonkani,

    • RGLLCIDKorean,

    • RGLLCIDMarathi,

    • RGLLCIDPunjabi,

    • RGLLCIDSanskrit,

    • RGLLCIDSyriac,

    • RGLLCIDTamil,

    • RGLLCIDTelugu,

    • RGLLCIDThaiThailand,

    • RGLLCIDCtcSimplified,

    • RGLLCIDCtcTraditional.

  • Added a new RGLDocReaderFrame enum member RGLDocReaderFrameDocument.

  • Added RGLSecurityFeatureType enum members:

    • RGLSecurityFeatureTypeFill,

    • RGLSecurityFeatureTypeFalseLuminescence,

    • RGLSecurityFeatureTypeHoloSimple,

    • RGLSecurityFeatureTypeHoloVerifyStatic,

    • RGLSecurityFeatureTypeHoloVerifyMultiStatic,

    • RGLSecurityFeatureTypeHoloVerifyDinamic,

    • RGLSecurityFeatureTypePatternNotInterrupted,

    • RGLSecurityFeatureTypePatternNotShifted,

    • RGLSecurityFeatureTypePatternSameColors,

    • RGLSecurityFeatureTypePatternIRInvisible,

    • RGLSecurityFeatureTypePhotoSizeCheck,

    • RGLSecurityFeatureTypeBarcode,

    • RGLSecurityFeatureTypePatternDifferentLinesThickness,

    • RGLSecurityFeatureTypePortraitComparisonRFIDvsCamera,

    • RGLSecurityFeatureTypeGhostPhoto,

    • RGLSecurityFeatureTypeClearGhostPhoto,

    • RGLSecurityFeatureTypeInvisibleObject,

    • RGLSecurityFeatureTypeLowContrastObject,

    • RGLSecurityFeatureTypePhotoColor,

    • RGLSecurityFeatureTypePhotoShape,

    • RGLSecurityFeatureTypePhotoCorners

  • Added new RGLAuthenticity enum members:

    • RGLAuthenticityIRB900,

    • RGLAuthenticityAxialProtection,

    • RGLAuthenticityUVFibers,

    • RGLAuthenticityIRVisibility,

    • RGLAuthenticityOCRSecurityText,

    • RGLAuthenticityPhotoEmbedType,

    • RGLAuthenticityHolograms,

    • RGLAuthenticityPhotoArea,

    • RGLAuthenticityBarcodeFormatCheck.

  • Added new RGLFieldType enum members:

    • RGLFieldTypeFt_PlaceOfExamination,

    • RGLFieldTypeFt_ApplicationNumber,

    • RGLFieldTypeFt_VoucherNumber,

    • RGLFieldTypeFt_AuthorizationNumber,

    • RGLFieldTypeFt_Faculty,

    • RGLFieldTypeFt_FormOfEducation,

    • RGLFieldTypeFt_DNINumber,

    • RGLFieldTypeFt_RetirementNumber,

    • RGLFieldTypeFt_ProfessionalIdNumber,

    • RGLFieldTypeFt_Age_at_Issue,

    • RGLFieldTypeFt_Years_Since_Issue,

    • RGLFieldTypeFt_DLClassCode_BTP_From,

    • RGLFieldTypeFt_DLClassCode_BTP_Notes,

    • RGLFieldTypeFt_DLClassCode_BTP_To,

    • RGLFieldTypeFt_DLClassCode_C3_From,

    • RGLFieldTypeFt_DLClassCode_C3_Notes,

    • RGLFieldTypeFt_DLClassCode_C3_To,

    • RGLFieldTypeFt_DLClassCode_E_From,

    • RGLFieldTypeFt_DLClassCode_E_Notes,

    • RGLFieldTypeFt_DLClassCode_E_To,

    • RGLFieldTypeFt_DLClassCode_F_From,

    • RGLFieldTypeFt_DLClassCode_F_Notes,

    • RGLFieldTypeFt_DLClassCode_F_To,

    • RGLFieldTypeFt_DLClassCode_FA_From,

    • RGLFieldTypeFt_DLClassCode_FA_Notes,

    • RGLFieldTypeFt_DLClassCode_FA_To,

    • RGLFieldTypeFt_DLClassCode_FA1_From,

    • RGLFieldTypeFt_DLClassCode_FA1_Notes,

    • RGLFieldTypeFt_DLClassCode_FA1_To,

    • RGLFieldTypeFt_DLClassCode_FB_From,

    • RGLFieldTypeFt_DLClassCode_FB_Notes,

    • RGLFieldTypeFt_DLClassCode_FB_To,

    • RGLFieldTypeFt_DLClassCode_G1_From,

    • RGLFieldTypeFt_DLClassCode_G1_Notes,

    • RGLFieldTypeFt_DLClassCode_G1_To,

    • RGLFieldTypeFt_DLClassCode_H_From,

    • RGLFieldTypeFt_DLClassCode_H_Notes,

    • RGLFieldTypeFt_DLClassCode_H_To,

    • RGLFieldTypeFt_DLClassCode_I_From,

    • RGLFieldTypeFt_DLClassCode_I_Notes,

    • RGLFieldTypeFt_DLClassCode_I_To,

    • RGLFieldTypeFt_DLClassCode_K_From,

    • RGLFieldTypeFt_DLClassCode_K_Notes,

    • RGLFieldTypeFt_DLClassCode_K_To,

    • RGLFieldTypeFt_DLClassCode_LK_From,

    • RGLFieldTypeFt_DLClassCode_LK_Notes,

    • RGLFieldTypeFt_DLClassCode_LK_To,

    • RGLFieldTypeFt_DLClassCode_N_From,

    • RGLFieldTypeFt_DLClassCode_N_Notes,

    • RGLFieldTypeFt_DLClassCode_N_To,

    • RGLFieldTypeFt_DLClassCode_S_From,

    • RGLFieldTypeFt_DLClassCode_S_Notes,

    • RGLFieldTypeFt_DLClassCode_S_To,

    • RGLFieldTypeFt_DLClassCode_TB_From,

    • RGLFieldTypeFt_DLClassCode_TB_Notes,

    • RGLFieldTypeFt_DLClassCode_TB_To,

    • RGLFieldTypeFt_DLClassCode_TM_From,

    • RGLFieldTypeFt_DLClassCode_TM_Notes,

    • RGLFieldTypeFt_DLClassCode_TM_To,

    • RGLFieldTypeFt_DLClassCode_TR_From,

    • RGLFieldTypeFt_DLClassCode_TR_Notes,

    • RGLFieldTypeFt_DLClassCode_TR_To,

    • RGLFieldTypeFt_DLClassCode_TV_From,

    • RGLFieldTypeFt_DLClassCode_TV_Notes,

    • RGLFieldTypeFt_DLClassCode_TV_To,

    • RGLFieldTypeFt_DLClassCode_V_From,

    • RGLFieldTypeFt_DLClassCode_V_Notes,

    • RGLFieldTypeFt_DLClassCode_V_To,

    • RGLFieldTypeFt_DLClassCode_W_From,

    • RGLFieldTypeFt_DLClassCode_W_Notes,

    • RGLFieldTypeFt_DLClassCode_W_To.

  • Added new RGLDiDocType enum members:

    • RGLDiDocTypeArmedForcesIdentityCard,

    • RGLDiDocTypeProfessionalCard,

    • RGLDiDocTypeRegistrationStamp,

    • RGLDiDocTypeDriverCard,

    • RGLDiDocTypeDriverTrainingCertificate,

    • RGLDiDocTypeQualificationDrivingLicense,

    • RGLDiDocTypeMembershipCard,

    • RGLDiDocTypePublicVehicleDriverAuthorityCard,

    • RGLDiDocTypeMarineLicense,

    • RGLDiDocTypeTemporaryLearnerDrivingLicense,

    • RGLDiDocTypeTemporaryCommercialDrivingLicense,

    • RGLDiDocTypeInterimInstructionalPermit,

    • RGLDiDocTypeCertificateOfCompetency,

    • RGLDiDocTypeCertificateOfProficiency

Core:

  • Massive improvements in performance and quality across all modules.

  • Document detection and crop

    • Added capability to locate and recognize double page spread of the document in one image. There are passports, that have meaningful data not only on the data page, but also on the second page of the spread. To get the data from both pages in one go we have implemented this “Double page spread” mode. Disabled by default.

    • Added capability of smart detection of the document by its recognition. Document can be in any orientation, flat or with perspective distortion, hold in the hands like a book, etc. This greatly improves success rate on mobile and service use cases. Can be enabled/disabled in process parameters. By default, enabled for processing of static images and disabled for processing series of images from camera on mobile.

    • Optimized ID2 Visa stickers cropping from passport page.

  • Document type recognition

    • Improved performance of document type recognition by multiple algorithm optimizations.

    • Improved quality of document type recognition. Now document images with corrupted proportions, not fully visible in image, with high perspective distortion are correctly recognized in most possible cases.

    • Improved recognition of documents with non-standard proportions.

    • Improved algorithm of image resolution determination by using data from templates (laminated documents).

  • OCR

    • Added scenario OcrFree for arbitrary text OCR, based on provided parameters. You can define field definition template using mask and recognize any data, not only on documents.

    • Added support for Armenian alphabet (lcid 1067).

    • Added support for Malta language (lcid 1082).

    • Added bank cards recognition in specific scenario.

    • Added recognition of registration stamp (address) in Russian Federation domestic passports.

    • Added recognition of CCC/CTC codes for China / Hong Kong documents.

    • Improved recognition of text with multiple languages in one field.

    • Improved recognition of special symbols, like @, ≤, ≥, *, _, etc.

    • All alphabets recognition is now based on neural networks (including Greek, Georgian, Azeri/Turkish).

    • All NN were re-trained on significantly larger datasets to ensure better recognition accuracy.

    • Improved recognition time.

    • Document templates were revisited for each field to assure correctness and high recognition accuracy based on statistics.

    • Perforated numbers OCR now available on all platforms (Ukraine domestic passport).

    • Optimized serial OCR recognition mode from multiple frames, based on recognition probability and matching results between frames.

    • Internal resource usage optimization that allowed to reduce memory impact and package size.

  • Text data parsing and validation

    • Added content validation for Belarus personal number.

    • Added parsing of Russian Federation registration address text into separate fields.

    • Added transliteration into Latin characters of all Cyrillic characters for Russian Federation domestic passports.

    • Added generation of MRZ for Russian Federation domestic passports without MRZ by its data.

    • Added generation of text name of issuing authority by its code for Russian Federation domestic passports.

    • Added date validation for revision RGLFieldTypeFt_First_Issue_Date, RGLFieldTypeFt_Revision_Date & RGLFieldTypeFt_Date_of_Creation.

    • Added new country code XES (XC).

    • Added new calculated fields RGLFieldTypeFt_Age_at_Issue, RGLFieldTypeFt_Years_Since_Issue based on date of issue of the document and date of birth for convenience.

    • Fixed issue of conversion Albanian character ç into Latin c.

    • Fixed issue with RGLFieldTypeFt_DL_Under_18_Date, RGLFieldTypeFt_DL_Under_19_Date, RGLFieldTypeFt_DL_Under_21_Date fields validation.

    • Fixed issues with date of expiry parsing for some documents, that do not expire (99-99-9999).

    • RGLFieldTypeFt_MRZ_Type field now present in text comparison results.

    • Fixed issue with transliteration from Greek to Latin for specific exceptional cases.

  • MRZ

    • Added new parsers:

      • Bolivia Crew Member Certificate,

      • Canada Certificate Of Indian Status,

      • Canada Manitoba Enhanced Driving License,

      • Grenada Voter Card,

      • Moldova Crew Member Certificate,

      • Turkey ID Card,

      • Turkey Seamen's Book.

    • Updated parsers:

      • Bulgaria Registration Certificate,

      • Guatemala ID Card,

      • Kuwait ID Card,

      • Mexico Voting Card,

      • Sweden ID Card,

      • Sweden Residence Permit.

  • Barcode

    • Added new parsers:

      • Albania Driving License,

      • Albania Qualification Driving License,

      • Angola ID Card,

      • Argentina Driving License,

      • Brunei Darussalam Driving License,

      • Czech Republic ID Card,

      • Grenada Voter Card,

      • Haiti ID Card,

      • Jamaica Armed Forces ID Card,

      • Kosovo ID Card,

      • Latvia ID Card,

      • Malawi Driving License,

      • Malawi ID Card,

      • Mexico Quintana Roo Driving License,

      • Moldova Registration Certificate,

      • Namibia Driving License,

      • Netherlands Driving License,

      • Nigeria Driving License,

      • Nigeria ID Card,

      • Norway Driving License,

      • Panama Driving License,

      • Panama Seaman's Book,

      • Peru Visa,

      • Philippines Firearm License,

      • Russian Federation Driving License,

      • South Sudan ID Card,

      • Spain Seaman's book,

      • Sri Lanka ID Card,

      • Suriname Driving License,

      • Swaziland ID Card,

      • Turkey Work Permit.

    • Improved barcode parsers:

      • Bolivia Passport,

      • Cuba Passport,

      • Ecuador Passport,

      • Georgia ID Сard,

      • Grenada Passport,

      • Nigeria Driving License,

      • Philippines Professional ID Card,

      • Uganda ID Card,

      • United States Uniformed Services ID Card.

  • Image QA

    • Improved and integrated glare detection NN that provides result with ROI of glare areas on the image.

    • Improved image focus check NN.

  • Corrected / implemented serialization / deserialization of all results in JSON.

  • Fixed issue with cropping default portrait in case there is no face detected on the image.

  • Fixed issue with RFID date validity in text comparison results if Visual OCR result was incorrect.

  • Fixed issue with RFID text field Validity value serialization to JSON.

  • Multiple code improvements, memory leak fixes, internal optimizations, and tiny fixes.

August 23, 2019 - v5.0

API:

  • The DocReader class is a singleton now.

  • API completely rewritten in Objective-C. From now on SDK is compatible with any Swift version.

  • Added a new Core framework type DocType.

  • Added a new scenario Capture, which allows obtaining a frame from the camera without image processing.

  • Added possibility to set a separate scenario for the capture button (captureButtonScenario).

  • Added barcode parsing results (DocumentReaderBarcodeResult).

  • Added possibility to set the measurement system in the final results: (processParams.measureSystem).

  • Added possibility to get a full original image from which the final document image was obtained. (returnUncroppedImage).

  • Added possibility to change the status text of the tooltip (customization.resultStatus).

  • Added possibility to change the alpha of the background mask around the frame (customization.backgroundMaskAlpha).

  • Added new GraphicFieldType enum member:

    • gf_Portrait_Of_Child

  • Added new FieldType enum members:

    • ft_Date_First_Renewal

    • ft_Date_Second_Renewal

  • Added French localization.

  • Added new property DocReader.shared.license that contains information about the current license:

    • expiryDate: license expiration date

    • countryFilter: codes of countries whose documents are available for OCR (if the array is empty, it means that there are no restrictions on countries).

  • Updated the logic of the Ocr scenario. Now it always returns a correct image of the document.

  • Changed the logic of layout of the pictures for the startup animation (helpAnimationImage), multi-page animation (multipageAnimationFrontImage, multipageBackAnimationImage) and background frame (borderBackgroundImage). Now it is possible to change the contentMode property for all the images listed above.

  • Updated the logic of capture button operation. Added timers of button display after the start of scanning (showCaptureButtonDelayFromStart) or after the detection of document boundaries (showCaptureButtonDelayFromDetect). By default, their values are 5 and 10 seconds, respectively.

  • Changed the structure of the results. Now most of them contain the property pageIndex, which contains the index of the page from which the result was obtained.

  • The documentType property in the final result DocumentReaderResults is now an array that contains information about each page that has been read.

  • In the enum GraphicFieldType, the value gf_DocumentFront is replaced by the gf_DocumentImage value. The value gf_DocumentRear has been deleted. Now, to obtain the back side of the document, the pageIndex property of the graphic field (DocumentReaderGraphicField) should be used.

  • Corrected the logic of calculating the final field validity status (CheckResult).

  • Fixed the logic of the MrzAndLocate scenario. Now it stops working only after detecting the MRZ and detecting the borders of the document containing this MRZ.

  • Fixed the logic of the customization properties statusPositionMultiplier and resultStatusPositionMultiplier.

Core:

  • Added OCR capability of Chinese Simplified and Traditional. Corresponding document templates updated.

  • Greatly improved OCR for next code pages (alphabets) and corresponding document templates updated:

    • Cyrillic (Belarusian, Bulgarian, Kazakh, Russian, Serbian, Ukrainian),

    • Baltic (Estonian, Latvian, Lithuanian),

    • Vietnamese,

    • Western European/Latin (English, French, Spanish, Portuguese, Dutch, Finnish, Icelandic, Italian, Norwegian, Swedish),

    • Georgian,

    • Turkish (Turkish, Azeri, Uzbek),

    • Hebrew.

  • Improved OCR of the documents with floating inconsistent personalization.

  • Implemented validation check between Issuing authority and document series in RussianFederation passports

  • Added new MRZ parsers:

    • Antigua and Barbuda Id Card,

    • Aruba DL,

    • Cuba ID card,

    • Ecuador ID card,

    • Uruguay ID card.

  • Added new barcode parsers:

    • Botswana Residence permit,

    • Cuba ID card,

    • Ghana DL,

    • Israel Entry/Exit permit,

    • Jamaica ID card,

    • Nicaragua Passport,

    • Mozambique Visa and Emergency certificate,

    • Togo ID card.

  • Improved recognition of non-ICAO format documents and laminated documents. Now we are not limited to standard ID sizes.

  • Fixed issue with Aztec codes detection.

  • Fixed issue with 9999 year in Date of expiry in Spanish ID cards.

  • Fixed issue with documents without expiration term in Bulgaria, Bolivia, Viet Nam.

  • Fixed issue with special symbols in text fields when performing partial value comparison to other sources.

  • Fixed issue with weight conversion if field contains code instead of actual weight value.

  • Fixed issue with country code incorrect validation in specific cases.

  • Fixed different minor issues with specific documents MRZ reading and correction.

  • 550 new documents added.

  • 244 countries and territories / 7572 documents included.

March 7, 2019 - v4.2

  • Added possibility to change the position of Status and Result Status messages

  • Updated DocReaderFrame enumeration

  • Added skipFocusingFrames property to Functionality

  • Added disableFocusingCheck property to Functionality

  • Added showCameraSwitchBtn property to Functionality

  • Improved stability and reliability of continuous transmission of frames for further processing

  • Improved stability of CameraViewController

  • Added German localization

  • Great improvements of OCR for Latin, Cyrillic, Hebrew, Vietnamese and Balkan alphabets, both speed and accuracy.

  • Added new MRZ parsers:

    • Mozambique ID card

    • Estonia Residence permit

  • Added new barcode parsers:

    • Haiti ID card,

    • Canada ID card

  • Added new member to the GraphicFieldType enumeration:

    • gf_Stamp

  • Added new members to the FieldType (iOS) enumeration:

    • iOS:

      • ft_Mother_Surname

      • ft_Mother_GivenName

      • ft_Father_Surname

      • ft_Father_GivenName

      • ft_Mother_DateOfBirth

      • ft_Father_DateOfBirth

      • ft_Mother_PersonalNumber

      • ft_Father_PersonalNumber

      • ft_Mother_PlaceOfBirth

      • ft_Father_PlaceOfBirth

      • ft_Mother_CountryOfBirth

      • ft_Father_CountryOfBirth.

  • 243 countries and territories / 7037 documents included

  • 268 new documents added