Releases: BlinkID/blinkid-android
v5.4.0
Breaking change:
Based on the feedback, we have restored support for x86_64 processor architecture. Due to the architecture specifics, there is no guarantee that the scanning process will work equally well as it does on the ARM architectures. The main reason for restoring support is to ease the compliance issue for developers.
We distribute SDK with ARMv7, ARM64, x86, and x86_64 native library binaries.
New features:
- We added age verification feature:
- Now you can more easily obtain the age of the document owner in years and check whether it is above some age limit.
- Use
age
andageLimitStatus
helper methods inMrzResult
,BlinkIdRecognizer.Result
,BlinkIdCombinedRecognizer.Result
,UsdlRecognizer.Result
,UsdlCombinedRecognizer.Result
, andIdBarcodeRecognizer.Result
.
Improvements:
-
We have translated complete SDK to following languages: Croatian, Czech, English, French, German, Italian, Portuguese, Slovak, and Spanish.
-
We added support for new document types in
BlinkIdCombinedRecognizer
andBlinkIdRecognizer
:- Australia - Australian Capital Territory - Driving licence / front only
- Australia - Northern Territory - Driving licence / BETA
- Australia - Tasmania - Driving licence / front only / BETA
- Canada - Alberta - ID card / BETA
- Canada - British Columbia - Driver license / Public services card (Combined)
- Canada - British Columbia - ID card / BETA
- Canada - British Columbia - Public services card
- Canada - New Brunswick - Driving license
- Canada - Nova Scotia - Driving license / BETA
- Canada - Yukon - Driving license / BETA
- Panama - Driving license / front only / BETA
- Panama - ID card / front only
- Singapore - Work permit / BETA
- Taiwan - ID card / front only / BETA
- USA - Alabama - ID card
- USA - Alaska - ID card / BETA
- USA - District Of Columbia - Driver license / BETA
- USA - Idaho - ID card / BETA
- USA - Indiana - ID card / BETA
- USA - Kentucky - ID card / BETA
- USA - Massachusetts - ID card
- USA - Oregon - ID card
- USA - Washington - ID card
- We added support for back side to:
- Australia - Western Australia - Driving licence
- Mexico - Voter ID
- Netherlands - Driving licence
-
Additional improvements in
BlinkIdCombinedRecognizer
andBlinkIdRecognizer
:- When the back side of the document is not fully supported by the
BlinkIdCombinedRecognizer
, we will capture and return the back side image without performing data extraction. You can disable this behaviour by usingBlinkIdCombinedRecognizer.setSkipUnsupportedBack(true)
. - We are now returning color status for the scanned document (black and white or color) in the following result fields:
documentImageColorStatus
inBlinkIdRecognizer.Result
.documentFrontImageColorStatus
anddocumentBackImageColorStatus
inBlinkIdCombinedRecognizer.Result
.
- We are now returning
ClassInfo
which holds the following information about the scanned document:Country
,Region
, andType
of the document. UseBlinkIdRecognizer.Result.getClassInfo()
andBlinkIdCombinedRecognizer.Result.getClassInfo()
. - We introduced
ClassFilter
which determines whether a document should be processed or is filtered out, based on itsClassInfo
. UseBlinkIdRecognizer.setClassFilter
andBlinkIdCombinedRecognizer.setClassFilter
to enable it. - To improve the scanning performance, we added additional feedback for users that ensures a detected document is entirely inside the frame. When a document is too close to the edge of the camera frame, we will display an appropriate message to the user in
BlinkIdOverlayController
. You can configure the minimum distance from the edge of the frame by using thepaddingEdge
settings method.
- When the back side of the document is not fully supported by the
-
Improvements in
BlinkIdOverlayController
:- When a document is too close to the edge of the camera frame, we display
Move the document from the edge
message. - We added better user instructions when barcodes are being scanned in
UsdlCombinedRecognizer
. We displayScan the barcode
message.
- When a document is too close to the edge of the camera frame, we display
-
We are now delivering the complete list of open source dependencies used in the SDK. Please check the
open-source-software-used
directory.
Minor API changes:
- We removed
RecognizerRunnerView
custom attributes:mb_initialOrientation
andmb_aspectMode
. UseRecognizerRunnerView.setInitialOrientation
andRecognizerRunnerView.setAspectMode
to configure the attributes in the code.
Bug fixes:
- We fixed bug in
BlinkIdOverlayController
which caused thatMrtdRecognizer.Result
is cleared after scanning is done and empty result is returned.
v5.3.0
Breaking change:
We decided to remove support for x86_64 processor architecture.
x86 and x86_64 architectures are used on very few devices today; most of them are manufactured before 2015 and they take about 1% of all Android devices, according to the device catalog on Google Play Console.
We distribute SDK with ARMv7, ARM64, and x86 native library binaries. Native library x86 in SDK is kept mainly for emulator support.
New features:
-
We added a new recognizer specialized for scanning and parsing barcodes on various identity cards -
IdBarcodeRecognizer
. Supported document types are:- AAMVA compliant (US DL, Canada DL, etc.)
- Argentina ID and driver license
- Panama ID
- Colombia ID and driver license
- South Africa ID
- Nigeria Voter ID and driver license
-
We added the option to disable Microblink logs in the console output. Use
LoggingSettings.disableMicroblinkLogging()
. Be careful with this option. We need full log outputs from the application for support purposes. In case of having problems with scanning certain items, undesired behavior on the specific device(s), crashes inside SDK or anything unmentioned, we will need a full log from your side. If you disable Microblink logging, you won't be able to provide us this information. Hence support might be limited.
Improvements for existing features:
- We added new result fields in
MrzResult
, returned by all recognizers which scan MRZ (Machine Readable Zone):issuerName
nationalityName
- Improvements in
BlinkIdCombinedRecognizer
andBlinkIdRecognizer
:- new recognizer options:
allowUnparsedMrzResults
andallowUnverifiedMrzResults
- new result field:
dateOfExpiryPermanent
- support for 14 new document types:
South Australia DL
,Bosnia and Herzegovina DL
,Canada Ontario ID
,Costa Rica DL
,Denmark DL
,Estonia DL
,Finland DL
,Kenya ID
,Lithuania DL
,Malaysia MyPR
,Malta DL
,Mexico Consular ID
,Nigeria Voter ID
,Philippines Professional ID
- improved support for:
USA Hawaii DL
,Colombia DL
,Costa Rica ID
,France ID
,India ID
,Kazakhstan ID
,Kuwait Resident ID
,Israel DL
,Kuwait DL
,Thailand ID
- new recognizer options:
Minor API changes:
CameraPermissionManager
constructor accepts object of typeCameraPermissionManager.ResourceIds
as a second parameter which can be used to customise "ask permission" layout - for previously used layout, use default implementationcom.microblink.hardware.camera.CameraPermissionManagerResources
RecognizerRunnerFragment
extendsandroidx.fragment.app.Fragment
, instead of deprecatedandroid.app.Fragment
- All provided scan activities extend
AppCompatActivity
Bug fixes:
- We fixed crash when using Direct API on high resolution
com.microblink.image.Image
fromHighResImageWrapper
v5.2.0
Improvements:
- overall size impact on application reduced for almost 30% when BlinkID SDK v5.2 is used, relative to size impact of the previous v5.1
- enabled setting
MrzFilter
onMrtdCombinedRecognizer
:- determines whether document should be processed or it is filtered out, based on its MRZ (Machine Readable Zone)
- this feature is also available for
MrtdRecognizer
- added Canada Alberta DL support for
BlinkIdRecognizer
andBlinkIdCombinedRecognizer
- enabled scanning back sides of 6 documents with
BlinkIdCombinedRecognizer
:- Czechia ID
- Egypt ID
- Germany ID
- Italy ID
- Pakistan Consular ID
- Pakistan ID
- added property
localizedName
toBlinkIdRecognizer.Result
andBlinkIdCombinedRecognizer.Result
(CCC to Chinese alphabet conversion for Hong Kong ID) - enabled digital signing of
BlinkIdCombinedRecognizer.Result
- improved camera performance on some Samsung devices
Minor API changes:
MrzFilter
now acceptsMrzResult
for filtering, previously filtering has been performed based on the givenMrtdRecognizer
result.RecognizerRunner.getSingletonInstance()
does not throwFeatureNotSupportedException
anymore
Bug fixes:
BlinkIdCombinedRecognizer
- fixed issue when the front side of a document was returned as a back side
v5.1.0
New features:
- added 38 new documents for
BlinkIdRecognizer
andBlinkIdCombinedRecognizer
: Algeria ID, Argentina DL, Australia Victoria DL, Australia Queensland DL, Australia Western Australia DL, Belgium Resident ID, Canada British Columbia DL, Canada Ontario DL, Canada Quebec DL, Cyprus ID, Czechia DL, Czechia ID, Egypt ID, Greece DL, India ID, India Pan Card, Israel DL, Malaysia MyKid, Malaysia MyTentera, Maldives ID, Morocco ID, Nigeria DL, Paraguay ID, Portugal DL, Puerto Rico DL, Qatar DL, Russia DL, Singapore Fin Card, Singapore Resident ID, Slovakia DL, Slovenia DL, South Africa DL, South Africa ID, Thailand ID, Tunisia ID, UAE DL, Uganda ID and Vietnam ID.
Details on each new document and the complete list of the supported documents is here.
Improvements:
- overall size impact on application reduced for almost 50% when BlinkID SDK v5.1 is used, relative to size impact of the previous v5.0
- added new fields in
MrzResult
:sanitizedDocumentCode
sanitizedDocumentNumber
- improved
BlinkIdRecognizer
andBlinkIdCombinedRecognizer
:- introduced blur filter that discards blurred frames and prevents reading data from them. This option is enabled by default, it can be disabled by using
BlinkIdRecognizer.setAllowBlurFilter(false)
andBlinkIdCombinedRecognizer.setAllowBlurFilter(false)
- introduced blur filter that discards blurred frames and prevents reading data from them. This option is enabled by default, it can be disabled by using
v5.0.1
New features:
- new options in
BlinkIdUISettings
,DocumentUISettings
,DocumentVerificationUISettings
andBlinkIdOverlaySettings
:- option to disable displaying of "Document Not Supported" dialog when
BlinkIdRecognizer
orBlinkIdCombinedRecognizer
is used in combination with other recognizers - use methodsetShowNotSupportedDialog
- option to configure back side scanning timeout - use
setBackSideScanningTimeoutMs
- option to disable displaying of "Document Not Supported" dialog when
- it is possible to set theme that will be used by activity launched from the UISettings - use UISettings.setActivityTheme
Minor API changes:
- all scan activity classes are final now
Bug fixes:
- fixed problems with aspect ratio of camera preview on Huawei Mate 10
v5.0.0
BlinkID v5 Release Announcement
We are very proud to announce BlinkID v5, the latest upgrade of our most popular product. BlinkID v5 is our first product powered entirely by machine learning.
Highlights in the BlinkID v5 Release
BlinkID v5 introduces improvements in the speed and accuracy of scanning and data extraction, and you will find:
- Best-in-class card detection.
- Automatic classification of different document types (no need to preselect the country or document type).
- Innovative and seamless UX with real-time instructions for the users.
- Data matching – we match the expiry date, DOB, date of issue, and document number captured from the front side with the data from the barcode or MRZ on the back.
Besides the new features listed above, we have worked on the improved performance of several other document components:
- Scanning of all documents with MRZ (IDs, passports, travel visas), or PDF417 barcodes.
- Scanning and data extraction of the front side of US driver’s licenses and IDs (horizontal).
- Capturing cropped face image supported even on vertical documents, passports and travel visas.
- Capturing document image.
Integration improvements
One of the main benefits that BlinkID v5 will bring is scalability and faster support for new document types.
- The integration of the mobile SDK will be significantly easier and faster.
- Mobile SDK build size will be much smaller.
How to get started and plan your upgrade?
BlinkID v5 mobile SDK release is currently available for native platforms.
- It’s advisable to get familiar with the range of supported document types. We will keep adding support for new documents and regularly update the list on Github.
- If currently supported document types are not yet supported in BlinkID v5 please follow future releases.
- To upgrade to BlinkID v5, you will need to obtain a new license key specifically for the document types that you require.
- Already licensed production keys will continue to work as usual, until you decide to upgrade.
- What if you require document types supported in the previous version (and not yet added in BlinkID v5) and another document type supported in BlinkID v5? That’s manageable, and in that case, we will create a custom build for you.
We strongly recommend checking the list of supported document types regularly. Please star and watch this repository, and take the time to test BlinkID v5 as much as possible.
Your opinion, especially on the performance and redesigned UX is very important for future developments. We would appreciate your feedback at blinkid@microblink.com.
Major API changes:
- removed all country specific recognizers - use
BlinkIdRecognizer
andBlinkIdCombinedRecognizer
which classify and extract data from all countries that have been supported by country specific recognizers available in 4.x.x versions of the SDK - available recognizers are:
BlinkIdRecognizer
andBlinkIdCombinedRecognizer
MrtdRecognizer
andMrtdCombinedRecognizer
UsdlRecognizer
andUsdlCombinedRecognizer
DocumentFaceRecognizer
PassportRecognizer
VisaRecognizer
- detectors, parsers and barcode recognizers are removed from this version onward
Templating API
is no longer supportedfield by field
scanning feature is no longer supported- SDK has been migrated to AndroidX dependencies - previous SDK dependency com.android.support:appcompat-v7 has been replaced with androidx.appcompat:appcompat
New features:
BlinkIdRecognizer
andBlinkIdCombinedRecognizer
now support new document types from different countries, all supported document types are listed here
Minor API changes:
- in combined recognizers results,
documentDataMatch
value is now returned asDataMatchResult
enum with three possible values:NotPerformed
,Failed
andSuccess
- new API for configuring camera options on
UISettings
- useUISettings.setCameraSettings
, which accepts object ofCameraSettings
type
v4.11.1
Bug fixes:
- fixed crash on some devices that use armeabi-v7a ABI - SDK was unable to reserve address space due to memory fragmentation
- fixed camera busy error in camera management that was happening during the quick closing and opening of the camera
- fixed rare crash on Samsung J5 Prime which has been caused by race condition during the initialization of native camera frame
v4.11.0
New features:
- added support for reading front and back side of Belgium ID - use
BelgiumIdFrontRecognizer
,BelgiumIdBackRecognizer
andBelgiumCombinedRecognizer
- added support for reading all visa documents containing Machine Readable Zone - use
VisaRecognizer
Improvements for existing features:
- improved
MrtdRecognizer
:- added support for documents with non-binary gender specification (symbol X)
- improved
DocumentFaceRecognizer
:- improved scanning time (faster scan)
- added support for vertical IDs
- removed the
tryBothOrientations
option (improved scan in all directions is enabled by default)
- improved scanning time (faster scan) for
PassportRecognizer
Minor API changes:
- FieldByFieldOverlay is now configured by using FieldByFieldOverlaySettings instead of FieldByFieldUISettings
- DocumentVerificationUISettings and DocumentUISettings now support BlinkID recognizer
- BlinkIdUISettings now allow customisation of strings, colors and icons
- moved some classes to new packages
Bug fixes:
- fix for document not supported never reported if using BlinkIdRecognizer wrapped in SuccessFrameGrabberRecognizer
v4.10.0
Major improvements for US documents
As announced on several occasions this year, we are very proud to present new features for scanning of the US identity cards and driver’s licenses.
- Data extraction from the front side of the US identity documents.
- Best-in-class card detection.
- Scanning and data extraction data from the barcode on the back side.
- Data matching – we match the extracted information captured from the front side with the information from the barcode on the back.
- Redesigned UX to make the process more intuitive for end users.
On top of the above-mentioned new features, existing ones, such as face image and document image extraction, are still available.
Important notes on the upcoming release:
- Existing features that you have already purchased can be used along with the new features.
- Existing license keys that cover US documents will work as usual, until you decide to update to the new features.
- In order to use the new features in your app, you need to obtain a new license key specifically for the document types that you require.
We invite you to follow the release and the documentation on Github and to try new features through our Developer Dashboard. Your opinion on this release, and especially on the redesigned UX is highly valuable to us. Please leave us feedback at support@microblink.com.
Release notes
New features:
- added
BlinkIdRecognizer
for scanning front side of ID cards andBlinkIdCombinedRecognizer
for combined scanning of front and back side of ID cards- for now, these recognizers classify and extract data from 87 different classes of United States driver's licenses and IDs (front and back side)
- list of all supported document types can be found here
- in the upcoming releases, we are planning to add support for more document types from different countries
- completely new UX for scanning ID cards with new scan activity and overlay:
BlinkIdActivity
andBlinkIdOverlayController
:- best suited for scanning with
BlinkIdRecognizer
andBlinkIdCombinedRecognizer
- other single side and combined document recognizers are also supported
- best suited for scanning with
- added support for reading back side of Nigerian Voter ID card - use
NigeriaVoterIdBackRecognizer
Improvements for existing features:
- improved
RomaniaIdFrontRecognizer
- now extracts
CNP
number
- now extracts
- improved
SloveniaIdFrontRecognizer
andSloveniaCombinedRecognizer
:- return boolean flag which indicates whether date of expiry is permanent - use
SloveniaIdFrontRecognizer.Result.isDateOfExpiryPermanent()
andSloveniaCombinedRecognizer.Result.isDateOfExpiryPermanent()
- return boolean flag which indicates whether date of expiry is permanent - use
- improved
GermanyPassportRecognizer
:- better passport classification
- improved
ColombiaIdFrontRecognizer
:- support for document number in format 1-3-3
- improved
SlovakiaIdFrontRecognizer
:- support for German letters
- Malaysia:
MalaysiaMyTenteraFrontRecognizer
supports 6-digit army numberMalaysiaIkadFrontRecognizer
- better extraction of the following fields (DeepOCR support): date of birth, sector, employer, address and date of expiry
- United Arab Emirates:
- glare detection is disabled by default for
UnitedArabEmiratesIdFrontRecognizer
andUnitedArabEmiratesIdBackRecognizer
UnitedArabEmiratesIdBackRecognizer
- optimized detection for black backgrounds
- glare detection is disabled by default for
Minor API changes:
- overlay controllers are no longer using UI settings, they're now using Overlay settings, you can convert UI settings to Overlay settings like this:
uiSettings.toOverlaySettings()
Recognizer
now only has one type parameterRecognizer.Result
no longer has any type parametersDocumentOverlayController
andBarcodeOverlayController
are replaced with single overlay controller -BasicOverlayController
Removed features:
BarcodeScanActivity
no longer supports results dialog- verification activities no longer support action bar built in obsolete activity themes
Bug fixes:
- all default scan activities correctly set volume to media instead of ring
- all default scan activities now apply secure flag if enabled in ui settings
- fixed scanning bug for devices with problematic camera resolution, which caused that SDK was unable to scan data, known affected devices were:
OnePlus 6T
,OnePlus 7 Pro
andVivo V15
v4.9.1
Bug fixes:
- fixed bug in
DocumentFaceRecognizer
which caused that DPI settings has not been applied to dewarped images - fixed bug in
DocumentVerificationOverlayController
/DocumentVerificationActivity
- alert dialog has not been shown in cases when front and back side of the scanned document don't match ColombiaIdBackRecognizer
- fixed result strings encoding problem