# Changelog

## August 6, 2020 - v5.2

#### API:

* Added the ability to select a mode of the recognition process ([`captureMode`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#scanning-modes)):
  * automatic ([`Auto`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/capturemode))
  * start video mode using the Capture button ([`CaptureVideo`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/capturemode))
  * manual mode for processing a single frame ([`CaptureFrame`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/capturemode))
* Added the ability to set the maximum time for document recognition, after which the recognition process ends automatically ([`timeout`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#timeouts))
* In some scenarios, you can manually correct the borders of the detected document when using the automatic recognition mode via the `showScanner` function ([`manualCrop`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#bounds))
* In some scenarios, you can manually correct the borders of the detected document when using the `recognizeImage` function ([`manualCrop`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#bounds))
* Added the ability to limit the document tilt angle ([`perspectiveAngle`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#detection))
* Added the ability to set the minimum allowed DPI of a document in the image ([`minDPI`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#output-images))
* Added the ability to display metadata while reading a document ([`setDisplayMetadata`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#extra-info))
* Added capability to generate integral image, that consists of many images taken in series, and does not contain glare. Works only if [`doublePageSpread`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#double-page-spread-processing) option is off ([`integralImage`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#output-images))
* Added SDK localization in 8 new languages: Italian, Polish, Arabic, Vietnamese, Czech, Portuguese, Thai, Turkish
* Added a new function [`getTextFieldValueByTypeAndSource`](https://regulaforensics.gitbook.io/android/5.2-3/results/getting-results#getting-values) to quickly get values from the results by specifying [`eVisualFieldType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/evisualfieldtype) and [`eRPRM_ResultType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/erprm_resulttype)
* Added a new function [`getTextFieldValueByTypeAndSource`](https://regulaforensics.gitbook.io/android/5.2-3/results/getting-results#getting-values) to quickly get values from the results by specifying [`eVisualFieldType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/evisualfieldtype), [`eRPRM_ResultType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/erprm_resulttype) values and original properties
* In [`DocumentReaderResults`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#results), added a new property holding time spent on reading the document RFID chip ([`elapsedTimeRFID`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#results))
* In [`DocumentReaderResults`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#results), added a new property holding time spent on document recognition ([`elapsedTime`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#results))
* In [`DocumentReaderResults`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#results), added a new property "processingFinishedStatus" indicating the current status of the recognition process ([`processingFinishedStatus`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#results))
* In [`DocumentReaderValue`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#text-result), added a new property indicating recognition probability (0% -100%) ([`probability`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#text-result))
* Added the ability to change the quality of the video obtained from the device camera during document recognition ([`cameraSize`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#video-settings))
* Added new [`eVisualFieldType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/evisualfieldtype) enum members:
  * `FT_URL`
  * `FT_CALIBER`
  * `FT_MODEL`
  * `FT_MAKE`
  * `FT_NUMBER_OF_CYLINDERS`
  * `FT_SURNAME_OF_HUSBAND_AFTER_REGISTRATION`
  * `FT_SURNAME_OF_WIFE_AFTER_REGISTRATION`
  * `FT_DATE_OF_BIRTH_OF_WIFE`
  * `FT_DATE_OF_BIRTH_OF_HUSBAND`
  * `FT_CITIZENSHIP_OF_FIRST_PERSON`
  * `FT_CITIZENSHIP_OF_SECOND_PERSON`
  * `FT_CVV`
* Redesigned the UI for reading the document RFID chip
* Redesigned the error structure when working with the SDK, now most errors are returned as `Throwable`
* Fixed image serialization issue for [`DocumentReaderGraphicField`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#graphic-result)
* Fixed the instructional animation when using the [`CreditCard`](https://regulaforensics.gitbook.io/android/5.2-3/scenarios) scenario
* Fixed memory leak caused by incorrect work of `CaptureActivity`
* Fixed minor issues

#### Core:

* Added capability to read both sides of bank cards in `CreditCard` scenario ([`multipageProcessing`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#multipage-processing))
* Added correct depersonalization support for all platforms with applying blur over the field areas. Depersonalization configuration options extended with `allTextFields` and `allGraphicFields` ([`dePersonalize`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#custom-params))
* 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 `FT_DATE_OF_BIRTH_OF_WIFE` & `FT_DATE_OF_BIRTH_OF_HUSBAND` fields
  * Added separate calculated `FT_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 `FT_SURNAME`, `FT_GIVEN_NAMES` and `FT_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 the ability to change the standard images of the following [buttons](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#buttons-1):
  * Torch button&#x20;
  * Close button
  * Capture button
  * Change frame button
  * Camera switch button
* Added capability of changing [camera frame](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#camera-frame-1) corners radius.
* Added capability of changing the design type of the beginning and end of the [camera frame](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#camera-frame-1) line.
* Added capability of changing the margin between the [camera frame](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#camera-frame-1) and the preview edge.
* Added capability of changing aspect ratio of the [camera frame](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#camera-frame-1).
* Added capability of changing the layout position of the [camera frame](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#camera-frame-1).
* Added capability of creating your [custom status](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#custom-status-message) in the camera window, as well as setting the position for it.
* Added the ability to set the type of barcode parser ([`barcodeParserType`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#barcode-types)).
* 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`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#double-page-spread-processing)).
* Added dark theme support for all UI elements.
* Added capability of deleting a database from a device (db.dat) ([`removeDatabase`](https://regulaforensics.gitbook.io/android/5.2-3/database#removing-database-using-removedatabase-method)).
* Added the ability to cancel database downloads while performing the `prepareDatabase` and `runAutoUpdate` functions ([`cancelDBUpdate`](https://regulaforensics.gitbook.io/android/5.2-3/database#cancelling-database-update)).
* Added capability of using [external certificates](https://regulaforensics.gitbook.io/android/5.2-3/pkd-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`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results) object.
* Added capability of processing multiple document images (`recognizeImages`).
* Added capability of saving the RFID session for [debugging](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#logs) (`debugSaveRFIDSession`).
* Added annotations in code.
* Added barcode format verification, the results of which are returned to [`DocumentReaderAuthenticityResult`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#authenticity-result).
* Added Context as a parameter to the following functions: `prepareDatabase`, `runAutoUpdate`, `removeDatabase`, `showScanner`, `stopScanner`, and others.
* Added the following [Core types](https://regulaforensics.gitbook.io/android/5.2-3/core): `barcodemrzrfid`, `ocrandmrzrfid`.
* Added new enums: [`eCheckDiagnose`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/echeckdiagnose), [`DocFormat`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/docformat), [`PKDResourceType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/pkdresourcetype).
* The [`setAutoSettings`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#rfid) method has been added to the RfidScenario settings structure, which allows you to automatically change the scenario settings depending on the type and results obtained during scanning of the last document. The default value is true.
* Added new `CTC_TRADITIONAL` and `CTC_SIMPLIFIED` members of the [`LCID`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/lcid) enum.
* Added new [`DocReaderFrame`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/docreaderframe) enum member `DOCUMENT`.
* The list of scenarios available for document processing is provided in enum [`Scenario`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/scenario).
* Changed default values of some properties in [`RfidScenario`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#rfid) structure.
* Updated error statuses associated with the license.
* Fixed issues in the operation of the [`prepareDatabase`](https://regulaforensics.gitbook.io/android/5.2-3/database#adding-database-using-preparedatabase-method) and [`runAutoUpdate`](https://regulaforensics.gitbook.io/android/5.2-3/database#adding-database-using-runautoupdate-method) functions.
* Fixed issues in the RFID chip reading results.
* Fixed generation of final results. Now [`DocumentReaderTextField`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#text-result) contains the `DocumentReaderValue` values from all pages of the document for all [`eRPRM_ResultType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/erprm_resulttype) result types.
* Added new [`eVisualFieldType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/evisualfieldtype) enum members:
  * `FT_PLACE_OF_EXAMINATION`,
  * `FT_APPLICATION_NUMBER`,
  * `FT_VOUCHER_NUMBER`,
  * `FT_AUTHORIZATION_NUMBER`,
  * `FT_FACULTY`,
  * `FT_FORM_OF_EDUCATION`,
  * `FT_DNI_NUMBER`,
  * `FT_RETIREMENT_NUMBER`,
  * `FT_PROFESSIONAL_ID_NUMBER`,
  * `FT_AGE_AT_ISSUE`,
  * `FT_YEARS_SINCE_ISSUE`,
  * `FT_DLCLASSCODE_BTP_FROM`,
  * `FT_DLCLASSCODE_BTP_NOTES`,
  * `FT_DLCLASSCODE_BTP_TO`,
  * `FT_DLCLASSCODE_C3_FROM`,
  * `FT_DLCLASSCODE_C3_NOTES`,
  * `FT_DLCLASSCODE_C3_TO`,
  * `FT_DLCLASSCODE_E_FROM`,
  * `FT_DLCLASSCODE_E_NOTES`,
  * `FT_DLCLASSCODE_E_TO`,
  * `FT_DLCLASSCODE_F_FROM`,
  * `FT_DLCLASSCODE_F_NOTES`,
  * `FT_DLCLASSCODE_F_TO`,
  * `FT_DLCLASSCODE_FA_FROM`,
  * `FT_DLCLASSCODE_FA_NOTES`,
  * `FT_DLCLASSCODE_FA_TO`,
  * `FT_DLCLASSCODE_FA1_FROM`,
  * `FT_DLCLASSCODE_FA1_NOTES`,
  * `FT_DLCLASSCODE_FA1_TO`,
  * `FT_DLCLASSCODE_FB_FROM`,
  * `FT_DLCLASSCODE_FB_NOTES`,
  * `FT_DLCLASSCODE_FB_TO`,
  * `FT_DLCLASSCODE_G1_FROM`,
  * `FT_DLCLASSCODE_G1_NOTES`,
  * `FT_DLCLASSCODE_G1_TO`,
  * `FT_DLCLASSCODE_H_FROM`,
  * `FT_DLCLASSCODE_H_NOTES`,
  * `FT_DLCLASSCODE_H_TO`,
  * `FT_DLCLASSCODE_I_FROM`,
  * `FT_DLCLASSCODE_I_NOTES`,
  * `FT_DLCLASSCODE_I_TO`,
  * `FT_DLCLASSCODE_K_FROM`,
  * `FT_DLCLASSCODE_K_NOTES`,
  * `FT_DLCLASSCODE_K_TO`,
  * `FT_DLCLASSCODE_LK_FROM`,
  * `FT_DLCLASSCODE_LK_NOTES`,
  * `FT_DLCLASSCODE_LK_TO`,
  * `FT_DLCLASSCODE_N_FROM`,
  * `FT_DLCLASSCODE_N_NOTES`,
  * `FT_DLCLASSCODE_N_TO`,
  * `FT_DLCLASSCODE_S_FROM`,
  * `FT_DLCLASSCODE_S_NOTES`,
  * `FT_DLCLASSCODE_S_TO`,
  * `FT_DLCLASSCODE_TB_FROM`,
  * `FT_DLCLASSCODE_TB_NOTES`,
  * `FT_DLCLASSCODE_TB_TO`,
  * `FT_DLCLASSCODE_TM_FROM`,
  * `FT_DLCLASSCODE_TM_NOTES`,
  * `FT_DLCLASSCODE_TM_TO`,
  * `FT_DLCLASSCODE_TR_FROM`,
  * `FT_DLCLASSCODE_TR_NOTES`,
  * `FT_DLCLASSCODE_TR_TO`,
  * `FT_DLCLASSCODE_TV_FROM`,
  * `FT_DLCLASSCODE_TV_NOTES`,
  * `FT_DLCLASSCODE_TV_TO`,
  * `FT_DLCLASSCODE_V_FROM`,
  * `FT_DLCLASSCODE_V_NOTES`,
  * `FT_DLCLASSCODE_V_TO`,
  * `FT_DLCLASSCODE_W_FROM`,
  * `FT_DLCLASSCODE_W_NOTES`,
  * `FT_DLCLASSCODE_W_TO`
* Added new [`diDocType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/didoctype) enum members:
  * `dtProfessionalCard`,
  * `dtRegistrationStamp`,
  * `dtDriverCard`,
  * `dtDriverTrainingCertificate`,
  * `dtQualificationDrivingLicense`,
  * `dtMembershipCard`,
  * `dtPublicVehicleDriverAuthorityCard`,
  * `dtMarineLicense`,
  * `dtTemporaryLearnerDrivingLicense`,
  * `dtTemporaryCommercialDrivingLicense`,
  * `dtInterimInstructionalPermit`,
  * `dtCertificateOfCompetency`,
  * `dtCertificateOfProficiency`

#### 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.&#x20;
  * 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).&#x20;
* OCR
  * Added scenario [`OcrFree`](https://regulaforensics.gitbook.io/android/5.2-3/scenarios) 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.&#x20;
  * 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.&#x20;
  * 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 `FT_FIRST_ISSUE_DATE`, `FT_REVISION_DATE` & `FT_DATE_OF_CREATION`.
  * Added new country code XES (XC).
  * Added new calculated fields `FT_AGE_AT_ISSUE`, `FT_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 `FT_DL_UNDER_18_DATE`, `FT_DL_UNDER_19_DATE`, `FT_DL_UNDER_21_DATE` fields validation.
  * Fixed issues with date of expiry parsing for some documents, that do not expire (99-99-9999).
  * `FT_MRZ_TYPE` field now present in text comparison results.
  * Fixed issue with transliteration from Greek to Latin for specific exceptional cases.&#x20;
* 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&#x20;
  * 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,&#x20;
    * 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:

* Added a new [Core](https://regulaforensics.gitbook.io/android/5.2-3/core) framework type `doctype`.
* Added a new [scenario](https://regulaforensics.gitbook.io/android/5.2-3/scenarios) `Capture`, which allows obtaining a frame from the camera without image processing.
* Added possibility to set a separate scenario for the capture button ([`captureButtonScenario`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#scenario)).
* Added correct display of RFID reading progress.
* Added barcode parsing results ([`DocumentReaderBarcodeResult`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#barcode-result)).
* Added possibility to set the measurement system in the final results: ([`measureSystem`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#display-formats)).
* Added possibility to get a full original image from which the final document image was obtained ([`returnUncroppedImage`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#uncropped-image)).
* Added possibility to change the [status text of the tooltip](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#result-status-message).
* Added the ability to change the [alpha of the background mask](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#background) around the frame.
* Added new [`eGraphicFieldType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/egraphicfieldtype) enum member:
  * GF\_PORTRAIT\_OF\_CHILD.
* Added new [`eVisualFieldType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/evisualfieldtype) enum members:
  * FT\_DATE\_FIRST\_RENEWAL,
  * FT\_DATE\_SECOND\_RENEWAL.
* Added French localization.
* Added new property [`DocumentReader.Instance().licenseResult()`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#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](https://regulaforensics.gitbook.io/android/5.2-3/scenarios). Now it always returns a correct image of the document.
* Changed the logic of layout of the pictures for the startup animation ([`helpAnimationImageID`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#animation)), multi-page animation ([`multipageAnimationFrontImage`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#animation), [`multipageAnimationBackImage`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#animation)) and background frame ([`borderBackgroundImage`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#background)).  Now it is possible to change the [`scaleType`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#animation) 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`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#buttons)) or after the detection of document boundaries ([`showCaptureButtonDelayFromDetect`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#buttons)). By default, their values are 5 and 10 seconds, respectively.
* Changed the structure of the [results](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results). Now most of them contain the property `pageIndex`, which contains the index of the page from which the result was obtained.
* The [`documentType`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#document-type-result) property in the final result [`DocumentReaderResults`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results) is now an array that contains information about each page that has been read.
* In the enum [`eGraphicFieldType`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/egraphicfieldtype), the value `GT_DOCUMENT_FRONT` is  replaced by the `GF_DOCUMENT_IMAGE` value. The value `GT_DOCUMENT_REAR` has been deleted. Now, to obtain the back side of the document, the `pageIndex` property of the graphic field ([`DocumentReaderGraphicField`](https://regulaforensics.gitbook.io/android/5.2-3/results/description-of-results#graphic-result)) should be used.
* Corrected the logic of calculating the final field validity status ([`eCheckResult`](https://regulaforensics.gitbook.io/android/5.2-3/enumerations/echeckresult)).
* Fixed the logic of the `MrzAndLocate` [scenario](https://regulaforensics.gitbook.io/android/5.2-3/scenarios). 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`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#status-message) and [`resultStatusPositionMultiplier`](https://regulaforensics.gitbook.io/android/5.2-3/custom-settings#result-status-message).

#### 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
* 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
* Fixed memory leak on the devices with Android API < 21
* Improved stability of `CameraActivity`
* 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 `eGraphicFieldType` enumeration:
  * GF\_STAMP
* Added new members to the `eVisualFieldType` enumeration:
  * 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
