Need help?

Please type a word or phrase into the box below to search all our FAQ and support articles.

iOS - Latest updates and supported document

Follow

5.0.1

  • Updates and fixes:
    • Added missing option to remove Microblink branding on MBBlinkIdOverlayViewController - contact help.microblink.com.
    • Fixed turning on flashlight in our overlay view controllers on iOS 13.1.3

 

5.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
- `MBBlinkIdRecognizer` and `MBBlinkIdCombinedRecognizer` are recognizers that classify and extract data from all country specific recognizers available in 4.x.x versions
- available recognizers are:
    - `BlinkIdRecognizer`
    - `BlinkIdCombinedRecognizer`
    - `MBPassportRecognizer`
    - `MBVisaRecognizer`
    - `MBDocumentFaceRecognizer`
    - `MBMrtdRecognizer`
    - `MBMrtdCombinedRecognizer`
    - `MBUsdlRecognizer`
    - `MBUsdlCombinedRecognizer`
- parsers and detectors are removed from this version onward
- Templating API is no longer supported
- `field by field` scanning feature is no longer supported
- Swift Module has been renamed from `MicroBlink` to `Microblink`
    - this will cause Swift project to crash at compile time so please do `import Microblink` from now on

 

New features:

- updated `MBBlinkIdRecognizer` and `MBBlinkIdCombinedRecognizer` with new document types for different countries
    - you can check [list of supported document types](https://github.com/BlinkID/blinkid-ios/blob/master/documentation/BlinkIDRecognizer.md)

 

Minor API changes:

- in combined recognizers results, `documentDataMatch` value is now returned as `MBDataMatchResult` enum with three possible values: `NotPerformed`,  `Failed` and `Success`

 

4.11.0

  • Updates and additions:

    • added support for reading front and back side of Belgium ID - use MBBelgiumIdFrontRecognizer, MBBelgiumIdBackRecognizer and MBelgiumCombinedRecognizer
    • added support for reading all visa documents containing Machine Readable Zone - use MBVisaRecognizer
  • Improvements in ID scanning performance:

    • improved MBMrtdRecognizer:
      • added support for documents with non-binary gender specification (symbol X)
    • improved MBDocumentFaceRecognizer:
      • 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 MBPassportRecognizer

 

4.10.0

  • Updates and additions:

    • added MBBlinkIdRecognizer for scanning front side of ID cards and MBBlinkIdCombinedRecognizer 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 (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 scan overlay view controller: MBBlinkIdOverlayViewController:
      • best suited for scanning with MBBlinkIdRecognizer and MBBlinkIdCombinedRecognizer
      • other single side and combined document recognizers are also supported
  • added support for reading back side of Nigerian Voter ID card - use MBNigeriaVoterIdBackRecognizer

  • Improvements in ID scanning performance:

    • improved MBRomaniaIdFrontRecognizer
      • now extracts CNP number
    • improved MBSloveniaIdFrontRecognizer and MBloveniaCombinedRecognizer:
      • return boolean flag which indicates whether date of expiry is permanent - use dateOfExpiryPermanent
    • improved MBGermanyPassportRecognizer:
      • better passport classification
    • improved MBColombiaIdFrontRecognizer:
      • support for document number in format 1-3-3
    • improved MBSlovakiaIdFrontRecognizer:
      • support for German letters
    • Malaysia:
      • MBMalaysiaMyTenteraFrontRecognizer supports 6-digit army number
      • MBMalaysiaIkadFrontRecognizer - 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 MBUnitedArabEmiratesIdFrontRecognizer and MBUnitedArabEmiratesIdBackRecognizer
      • MBUnitedArabEmiratesIdBackRecognizer - optimized detection for black backgrounds
  • Bugfixes:

    • fixed bug in MBBlinkCardOverlayViewController which caused memory issues

 

4.9.1

  • Bugfixes:
    • fixed bug in MBDocumentFaceRecognizer which caused that DPI settings has not been applied to dewarped image

 

4.9.0

  • Updates and additions:

    • added support for reading all passports with MRZ - use MBPassportRecognizer
    • added setting on MBDocumentFaceRecognizer for control over face image processor - use tryBothOrientations
    • added result property on MBGermanyCombinedRecognizerResult to get full mrz string result - use rawMrzString
  • Improvements in ID scanning performance:

    • added support for reading commercial code in two rows for MBHongKongIdFrontRecognizer
    • added support for MBHongKongIdFrontRecognizer 2018 version
    • improved reading accuracy for the following recognizers (DeepOCR support):
      • MBMalaysiaIKadFrontRecognizer
    • improved scanning time of all Malaysian ID front recognizers: MyKad, MyKAS, MyPR, MyTentera
  • Minor API changes:

    • partialRecognitionTimeout in MBRecognizerCollection default value has been changed to 0 which means no timeout will be reported in which partial scanning results will be returned to the user
  • Bugfixes:

    • fixed issue with combining surnames in MBGermanyCombinedRecognizer's logic
    • fixed a validation issue for the gender field in MBSloveniaCombinedRecognizer
    • fixed DPI options on images are now correctly applied to dewarped image results in MBDocumentFaceRecognizer

 

 

4.8.0

Important notice on MRTD recognizer in the latest BlinkID SDK release (v 4.8.0.)

Please note that we have significantly improved accuracy for MRZ/MRTD scanning because now we switched to the newest OCR technology based on machine learning. To be more precise, we measured and compared existing vs. new MRTD scanning. The new OCR system based on machine learning achieves 99.9% accuracy on the character level, which results with a 50% reduction in the error rate in MRZ extraction.

In order to use new MrtdRecognizer or MrtdCombinedRecognizer or to continue using any additional Recognizer for scanning any ID with the MRZ (machine readable zone) within the latest BlinkID SDK update, you must have a new license key. Before updating to the SDK version 4.8.0, please contact your account manager or send an email to support@microblink.com to obtain the new production license key.

Important notes:

  • The MRTD scanning with the older BlinkID SDK versions (v 4.7.0 and below) will continue to work without any problems - until you decide to update.
  • If you upgrade to the SDK version 4.8.0 without a new license key scanning of MRTD/MRZ documents will not work.
  • Contact us at support@microblink.com to obtain a new license key if you plan to update your app with the latest release.

For any questions, you might have, we stand at your service.

  • Updates and additions:

    • added support for reading front side of Brunei Military ID - use MBBruneiMilitaryIdFrontRecognizer
    • added support for reading back side of Brunei Military ID - use MBBruneiMilitaryIdBackRecognizer
  • Minor API changes:

    • all recognizers for Serbia have been removed from this version
    • fields that are not deprecated anymore:
      • Sweden DL - reference number
      • Ireland DL - driver number
      • Malaysia iKad - passport number
      • Hong Kong ID - commercial code
    • deprecated recocgnizer methods (they have been replaced with properties):
      • MBUsdlRecognizerResult:
        • getField:(MBUsdlKeys)usdlKey
        • optionalElements
    • added new recognizer properties:
      • MBUsdlRecognizerResult:
        • firstName
        • lastName
        • fullName
        • address
        • dateOfBirth
        • dateOfIssue
        • dateOfExpiry
        • documentNumber
        • sex
        • restrictions
        • endorsements
        • vehicleClass
      • MBMrzResult:
        • sanitizedOpt1
        • sanitizedOpt2
        • sanitizedNationality
        • sanitizedIssuer
    • renamed properties in MBCzechiaCombinedRecognizerResult:
      • lastName to surname
      • firstName to givenNames
      • identityCardNumber to documentNumber
      • address to permanentStay
      • issuingAuthority to autohority
      • personalIdentificationNumber to personalNumber
    • renamed properties in MBGermanyCombinedRecognizerResult:
      • lastName to surname
      • firstName to givenNames
      • identityCardNumber to documentNumber
      • issuingAuthority to autohority
      • eyeColour to colourOfEyes
    • renamed properties in MBJordanCombinedRecognizerResult:
      • issuer to issuedBy
    • renamed properties in MBSlovakiaCombinedRecognizerResult:
      • identityCardNumber to documentNumber
      • issuingAuthority to issuedBy
      • personalIdentificationNumber to personalNumber
    • renamed properties in MBRomaniaIdFrontRecognizerResult:
      • lastName to surname
      • identityCardNumber to documentNumber
      • nonMrzNationality to nationality
      • nonMrzSex to sex
      • validFrom to dateOfIssue
      • validUntil to dateOfExpiry
      • cardNumber is now part of MrzResult as documentNumber
    • renamed properties in MBSloveniaCombinedRecognizerResult:
      • lastName to surname
      • firstName to givenNames
      • identityCardNumber to documentNumber
      • address to permanentStay
      • issuingAuthority to administrativeUnit
      • personalIdentificationNumber to pin
      • citizenship to nationality
    • renamed properties in MBSloveniaIdBackRecognizerResult:
      • issuingAuthority to administrativeUnit
    • renamed properties in MBPolandCombinedRecognizerResult:
      • issuer to issuedBy
    • removed properties in MBRomaniaIdFrontRecognizer:
      • idSeries
      • cnp

 

4.7.0

  • Updates and additions:

    • added support for reading front side of Brunei Temporary Residence Permit - use MBBruneiTemporaryResidencePermitFrontRecognizer
    • added support for reading back side of Brunei Temporary Residence Permit- use MBBruneiTemporaryResidencePermitBackRecognizer
    • added MBBlinkCardOverlayViewController to be used with BlinkCard recognizers
  • Improvements in ID scanning performance:

    • improved reading accuracy for MBSingaporeIdBackRecognizer with stickers
    • enabled reading year-only dates of birth on Kuwait IDs
    • all recognizers now reset their results on shake, except Combined recognizers
  • Minor API changes:

    • MBPolandIdBackRecognizerResult has property mrzResult containing the results
    • removed mrz image extraction from MBMrtdRecognizer and mrzImage property in MBMrtdRecognizerResult
    • removed mrz image extraction from MBMrtdCombinedRecognizer and mrzImage property in MBMrtdCombinedRecognizerResult
    • removed glare detection from MBMrtdCombinedRecognizer
    • MBPaymentCardFrontRecognizer, MBPaymentCardBackRecognizer and MBPaymentCardCombinedRecognizer have been replaced with MBBlinkCardRecognizer
    • MBElitePaymentCardFrontRecognizer, MBElitePaymentCardBackRecognizer and MBElitePaymentCardCombinedRecognizer have been replaced with MBBlinkCardEliteRecognizer
  • Bugfixes:

    • MBMrtdRecognizer result state is now properly invalidated after detection fails
    • templating recognizers no longer execute callbacks with valid state once they are valid on every frame even if nothing is 'detected'

 

4.6.0

  • Updates and additions

    • added support for reading front side of German Driver's License - use MBGermanyDlFrontRecognizer
    • added support for reading back side of Brunei ID - use MBBruneiIdBackRecognizer
    • added support for reading front side of Brunei Residence Permit - use MBBruneiResidencePermitFrontRecognizer
    • added support for reading back side of Brunei Residence Permit - use MBBruneiResidencePermitBackRecognizer
    • updated overlay view controllers with new icons for close and torch buttons
    • switched to using HTTPS in podspec for Cocoapods
  • Improvements in ID scanning performance

    • improved reading accuracy for the following recognizers (DeepOCR support):
      • MBMalaysiaMyKadBackRecognizer
  • Minor API changes

    • removed sex and signatureImage properties from MBMalaysiaMyKadBackRecognizer
    • renmaed MBGermanyOldIdRecognizer to MBGermanyIdOldRecognizer
    • renamed properties in MBCroatiaCombinedRecognizerResult:
      • identityCardNumber to documentNumber
      • address to residence
      • issuingAuthority to issuedBy
      • personalIdentificationNumber to oib
      • nonResident to documentForNonResident
    • removed mrzImage from MBMrtdCombinedRecognizer and MBMrtdCombinedRecognizerResult
    • renamed properties in MBAustraliaDlFrontRecognizerResult:
      • name to fullName
      • dateOfExpiry to licenceExpiry
    • renamed eyeColour to colourOfEyes in MBGermanyIdBackRecognizerResult
    • recognizers that are deprecated:
      • MBSerbiaIdBackRecognizer and MBSerbiaIdBackRecognizerResult
      • MBSerbiaIdFrontRecognizer and MBSerbiaIdFrontRecognizerResult
      • MBSerbiaCombinedRecognizer and MBSerbiaCombinedRecognizerResult
    • all properties that are deprecated for recognizers:
      • MBHongKongIdFrontRecognizerResult:
        • commercialCode
      • MBIndonesiaIdFrontRecognizerResult:
        • bloodType
        • district
        • kelDesa
        • rt
        • rw
      • MBNewZealandDlFrontRecognizerResult:
        • donorIndicator
        • cardVersion
      • MBMalaysiaMyKadBackRecognizerResult:
        • extendedNric
      • MBMexicoVoterIdFrontRecognizerResult:
        • electorKey
      • MBIrelandDlFrontRecognizerResult:
        • driverNumber
      • MBSwedenDlFrontRecognizerResult:
        • referenceNumber
      • MBMalaysiaIkadFrontRecognizerResult:
        • passportNumber
      • MBAustriaIdBackRecognizerResult:
        • principalResidence
        • height
        • eyeColour
      • MBAustriaPassportRecognizerResult:
        • height
      • MBGermanyIdBackRecognizerResult:
        • colourOfEyes
        • height
      • MBSwitzerlandIdBackRecognizerResult:
        • height
      • MBSwitzerlandPassportRecognizerResult:
        • height
      • MBSingaporeIdBackRecognizerResult:
        • bloodGroup
      • MBColombiaIdBackRecognizerResult:
        • bloodGroup
      • MBSwitzerlandPassportRecognizerResult:
        • height
      • MBPolandIdFrontRecognizerResult:
        • familyName
        • parentsGivenNames
      • MBMoroccoIdBackRecognizerResult:
        • fathersName
        • mothersName
      • MBRomaniaIdFrontRecognizerResult:
        • parentNames

 

 

4.5.0

  • Updates and additions

    • added support for reading front side of Brunei ID - use MBBruneiIdFrontRecognizer
    • added support for reading front and back side of Cyprus ID, issued after 2015. - use MBCyprusIdFrontRecognizer and MByprusIdBackRecognizer
    • added support for reading front side of Malaysian MyKAS - use MBMalaysiaMyKasFrontRecognizer
    • added support for reading front side of Malaysian MyPR - use MBMalaysiaMyPrFrontRecognizer
    • enabled capturing high resolution camera frames:
      • When custom UI integration is performed, use - (void)captureHighResImage:(MBCaptureHighResImage)highResoulutionImageCaptured on MBRecognizerRunnerViewController
      • When using provided scan overlay view controllers, high resolution full camera frames taken at the moment of successful scan are returned if this option is enabled through MBOverlaySettings. Concrete MBDocumentOverlaySettings and MBDocumentVerificationOverlaySettings have property captureHighResImage to support this feature and new optional delegate on respective delegates
  • Improvements in ID scanning performance

    • improved reading accuracy for the following recognizers (DeepOCR support):
      • MBHongKongIdFrontRecognizer
      • MBMalaysiaMyKadFrontRecognizer
      • MBMalaysiaMyKadBackRecognizer
      • MBMalaysiaMyTenteraFrontRecognizer
      • MBMalaysiaDlFrontRecognizer
      • MBNewZealandDlFrontRecognizer
    • improved MBPaymentCard recognizers:
      • better OCR and data extraction
      • added support for reading payment card numbers in 4x6x4 and 4x6x5 format
    • improveed UAE recognizers:
      • glare detection is enabled for all images returned from MBUnitedArabEmiratesDlFrontRecognizerMBUnitedArabEmiratesIdBackRecognizer and MBUnitedArabEmiratesIdFrontRecognizer recognizers
    • improved MBMrtdRecognizer:
      • added option to set extension factors for full document image: use method fullDocumentImageExtensionFactors
      • added option to encode fullDocumentImage and mrzImage to JPEG and save them to MBMrtdRecognizerResult: use encodeMrzImage and encodeFullDocumentImage to enable encoding
  • Minor API changes

    • renamed MBIkadRecognizer to MBMalaysiaIkadFrontRecognizer and methods in recognizer and its Result:

      • expiryDate to dateOfExpiry
      • sex to gender
    • renamed MBMyKadFrontRecogniezer to MBMalaysiaMyKadFrontRecognizer and methods in recognizer and its Result:

      • ownerFullName to fullName
      • ownerAddress to fullAddress
      • addressStreet to street
      • ownerAddressZipCode to zipcode
      • ownerAddressCity to city
      • ownerAddressState to ownerState
      • ownerBirthDate to birthDate
      • ownerSex to sex
      • ownerReligion to religion
      • nricNumber to nric
    • MBMalaysiaMyKadFrontRecognizer does not extract armyNumber anymore, use MBMalaysiaMyTenteraFrontRecognizer for scanning MyTentera

    • MBMrtdRecognizer:

      • method saveImageDPI which has been used to set DPI for full document and MRZ image is replaced with methods fullDocumentImageDpi and mrzImageDpi
    • renamed methods in MBSwitzerlandIdBackRecognizer and its Result:

      • nonMrzDateOfExpiry to dateOfExpiry
      • nonMrzSex to sex
    • renamed methods in MBSwitzerlandPassportRecognizer and its Result:

      • placeOfBirth to placeOfOrigin
      • nonMrzDateOfBirth to dateOfBirth
      • nonMrzDateOfExpiry to dateOfExpiry
      • nonMrzSex to sex
  • Bugfixes

    • MBDocumentFaceRecognizer now correctly applies DPI settings to returned face and full document images
    • fixed a crash which happened when scanning region was set before overlay view controller loaded, but after it was initialized
    • fixed missing init in MBDotsResultSubview for Swift

 

4.4.0

  • Updates and additions

    • added support for reading back side of German Driver's License with B10 support - use MBGermanyDlBackRecognizer
    • added support for reading front side of Mexican Voter Id card - use MBMexicoVoterIdFrontRecognizer
    • added support for reading ExpiresOn date on MBCyprusIdBackRecognizer
    • added support for image(s) anonymization on MBPaymentCardFrontRecognizer
      • use anonymizeCardNumber and anonymizeOwner
    • added support for image(s) anonymization on MBPaymentCardBackRecognizer
      • use anonymizeCvv
    • added support for image(s) anonymization on MBPaymentCardCombinedRecognizer
      • use anonymizeCardNumberanonymizeOwner and anonymizeCvv
    • added support for image(s) anonymization on MBElitePaymentCardFrontRecognizer
      • use anonymizeOwner
    • added support for image(s) anonymization on MBElitePaymentCardBackRecognizer
      • use anonymizeCvv and anonymizeCardNumber
    • added support for image(s) anonymization on MBElitePaymentCardCombinedRecognizer
      • use anonymizeCardNumberanonymizeOwner and anonymizeCvv
    • added support for full document image extension factors on MBUsdlCombinedRecognizer
  • Improvements in ID scanning performance

    • improved reading of Swiss front side ID cards
    • improved reading of German front side ID cards
    • improved MBMalaysiaMyTenteraFrontRecognizer with DeepOcr support
    • improved reading of Singapore front side Driver's Licenses with DeepOcr support
    • improved reading of Croatian front side ID cards
    • improved personal number extraction on Slovakian ID cards
    • improved reading of Indonesian front side ID cards with DeepOcr support
    • updated image return processor
      • the processor now estimates detected (dewarped) document image quality and returns the best quality dewarped image from the best quality detection
  • Minor API changes

    • renamed MBMyTenteraRecognizer to MBMalaysiaMyTenteraFrontRecognizer
    • renamed MBMyTenteraRecognizerResult to MBMalaysiaMyTenteraFrontRecognizerResult and properties
      • nricNumber to nric
      • ownerAddress to fullAddress
      • ownerAddressCity to city
      • ownerAddressState to ownerState
      • ownerAddressZipCode to zipcode
      • ownerAddressStreet to street
      • ownerBirthDate to birthDate and it is now of type MBDateResult
      • ownerFullName to fullName
      • ownerReligion to religion
      • ownerSex to sex
    • renamed properties in MBGermanyIdFrontRecognizerResult
      • firstName to givenNames
      • lastName to surname
      • dateOfBirth adn dateOfExpiry are now of type MBDateResult
  • Bugfixes

    • fix memory issue while using current frame grabber
    • fix UI bug on MBDocumentVerificationOverlayViewController - now showing Document scanning done when scanning finish
    • all combined recognizers are not optional any more in Swift

4.3.0

  • Updates and additions

    • Added support for reading front side of Ireland Driver's License - use MBIrelandDlFrontRecognizer
    • Added support for reading front side of Colombia Driver's License - use MBColombiaDlFrontRecognizer
    • Added support for reading front side of Italy Driver's License - use MBItalyDlFrontRecognizer
    • Added standalone recognizer for reading front side of Austria Driver's License - use MBAustriaDlFrontRecognizer
    • Added support for reading front and back side of elite Payment / Debit cards - use MBElitePaymentCardFrontRecognizerMBElitePaymentCardBackRecognizer and MBElitePaymentCardCombinedRecognizer
  • Improvements in ID scanning performance

    • improved MBMrtdCombinedRecognizer:
      • added option to allow unparsed and unverified MRZ results - use allowUnparsedResults and allowUnverifiedResults
    • improved MBMalaysiaDlFrontRecognizer:
      • added support for reading Malaysia Dl for foreigners
    • improved MBUsdlRecogniezr:
      • added support for reading dates on Nigerian Driver's licenses
    • added support for setting full document image extension factors for almost all ID document recognizers, they implement interface MBFullDocumentImageExtensionFactors
    • added support for setting the number of stable detections threshold on MBDocumentFaceRecognizer and recognizers which use it internally: MBMrtdCombinedRecognizer and MBUsdlCombinedRecognizer - use numStableDetectionsThreshold. This can help to avoid returning of blurry images.
    • improved MBEudlRecognizer:
      • better reading accuracy for UK Driver's license
    • moved these recognizers to DeepOCR engine (improved reading accuracy): MBSingaporeIdFrontRecognizerMBSingaporeIdBackRecognizerMBCroatiaIdFrontRecognizerMBCroatiaIdBackRecognizer
    • improved DeepOCR accuracy
  • Minor API changes

    • renamed properties in MBMalaysiaDlFrontRecognizerResult:
      • state to ownerState
      • zipCode to zipcode
    • renamed properties in MBIndonesiaIdFrontRecognizerResult:
      • validUntil to dateOfExpiry
      • validUntilPermanent to dateOfExpiryPermanent
    • renamed property in MBSingaporeIdFrontRecognizerResult:
      • bloodType to bloodGroup
    • renamed property in MBSingaporeCombinedRecognizerREsult:
      • bloodType to bloodGroup
  • Bugfixes

    • enabled wrapping of combined recogniezrs with MBSuccessFrameGrabberRecognizer
    • fixed bug in MBEudlRecognizer which caused that sometimes face image is not returned, even if the recognition was successful
    • updated overlay view controllers for iPhone X Series
    • various other bug fixes and improvements

 

 

4.2.0

  • Updates and additions

    • Added support for reading front side of Spain Driver's License - use MBSpainDlFrontRecognizer
    • Added support for reading front side of UAE Driver's License - use MBUnitedArabEmiratesDlFrontRecognizer
    • Added support for reading front side of Cyprus ID card - use MBCyprusIdFrontRecognizer
    • Added support for reading back side of Cyprus ID card - use MBCyprusIdBackRecognizer
    • Added support for reading front side of Kuwait ID card - use MBKuwaitIdFrontRecognizer
    • Added support for reading back side of Kuwait ID card - use MBKuwaitIdBackRecognizer
    • Added support for reading front side of Payment Card - use MBPaymentCardFrontRecognizer
    • Added support for reading back side of Payment Card - use MBPaymentCardBackRecognizer
    • Added support for reading front and back side of Payment Card - use MBPaymentCardCombinedRecognizer
    • Added support for optional protocol method implementation in MBDocumentVerificationOverlayViewControllerDelegate - documentVerificationOverlayViewControllerDidFinishScanningFirstSide:
  • Improvements in ID scanning performance

    • Added support for reading sticker with new address on back side of Singapore ID card with MBSingaporeCombinedRecognizer
    • Performance improvements
  • Minor API changes

    • Renamed properties in MBCroatiaIdBackRecognizerResult:
      • address to residence
      • documentForNonResident to isDocumentForNonResident
      • issuingAuthority to issuedBy
      • MRZ fields are available through MBMrzResult which can be obtained by using property mrzResult
    • Renamed properties in MBSingaporeIdFrontRecognizerResult:
      • cardNumber to identityCardNumber
    • Renamed properties in MBSingaporeCombinedRecognizerResult:
      • cardNumber to identityCardNumber
      • bloodGroup to bloodType
    • isScanningUnsupportedForCameraType: is now class method of MBMicroblinkSDK
  • Bugfixes

    • Fixed bug where SDK crashed with exception when the user wanted to use custom resource bundle
    • Various other bug fixes and improvements

4.1.0

  • Updates and additions

    • Added support for reading front side of Swiss Driver's License - use MBSwitzerlandDlFrontRecognizer
    • Added support for reading front side of Singapore Driver's License - use MBSingaporeDlFrontRecognizer
    • Added support for reading front side of Morocco ID card - use MBMoroccoIdFrontRecognizer
    • Added support for reading back side of Morocco ID card - use MBMoroccoIdBackRecognizer
    • Added support for reading Singapore Changi Employee ID card - use MBSingaporeChangiEmployeeIdRecognizer
    • Added support for reading residential status on front side of Hong Kong ID Card
    • Added support for reading partial dates on all MRTD documents
    • Added support for returning encoded images on all recognizers that support image return
    • Added support for checking if scanning is unsupported for camera type on MBRecognizerRunnerViewController
    • Added support for reading sticker with new address on back side of Singapore ID card
    • Added missing oldNric property on MBMyKadBackRecognizerResult
    • Removed manatee
  • Improvements in ID scanning performance

    • Improved reading of New Zealeand Driver's License
    • Better name and nationality extraction on MBUnitedArabEmiratesIdFrontRecognizer
  • Minor API changes

    • identityCardNumber property has been renamed to documentNumber on MBCroatiaIdFrontRecognizerResult

4.0.1

  • Bugfixes

    • Calling reconfigureRecognizers before showing camera now correctly applies supplied recognizers
    • Fixed autorotation of overlays and MBRecognizerRunnerViewController
    • Fixed localization issues with some overlays
    • Fixed constraint errors on MBDocumentVerificationOverlayViewController
  • Updates and additions

    • Added reconfigureRecognizers method to MBBaseOverlayViewController, enabling it on all it's subclasses

 

4.0.0

  • new API, which is not backward compatible. Please check README and updated demo applications for more information, but the gist of it is:
    • PPScanningViewController has been renamed to MBRecognizerRunnerViewController and MBCoordinator to MBRecognizerRunner
    • PPBarcodeOverlayViewController has been renamed to MBBarcodeOverlayViewController
    • previously internal MBRecognizer objects are not internal anymore - instead of having opaque MBRecognizerSettings and MBRecognizerResult objects, you now have stateful MBRecognizer object that contains its MBResult within and mutates it while performing recognition. For more information, see READMEand updated demo applications
    • introduced MBFieldByFieldOverlayViewController that can be used for easy integration of the field-by-field scanning feature (previously known as segment scan)
    • introduced MBDocumentVerificationController that can be used for easy integration of ID verification scanning feature (previously available only in BlinkID AppStore app
    • introduced MBProcessor concept. For more information, check updated code samples, README and this blog post
  • new licence format, which is not backward compatible. Full details are given in README and in updated applications, but the gist of it is:
    • licence can now be provided with either file, byte array or base64-encoded bytes

2.18.2

  • Bugfixes
    • fixed UnitedArabEmiratesIDBackRecognizer:
      • enabled reading of UAE back side where MRZ starts with IR

2.18.1

  • Bugfixes
    • coordinatorDidDealloc method in PPCoordinatorDelegate is now correctly called when all resources are released

2.18.0

  • Updates and additions

    • Added support for reading front side of Swedish Driver's License- use PPSwedenDLFrontRecognizerSettings
    • Added ability to extend full document cropping zone on PPGermanIDFrontRecognizerSettings
    • Added support for CAN number extraction on German ID Front
    • Added support for iKAD MM55 ID's
  • Improvements in ID scanning performance

    • Improved reading of document number on Hong Kong ID
    • Improvements when returning partial data in Document Face Recognizer
    • Improvements in USDL data parsing

2.17.3

  • Bugfixes
    • Added support for nonstandard pdf417 barcodes which wrongly encode number of data codewords

2.17.2

  • Bugfixes
    • Fixed error where app upload to the store would be rejected because of missing bitcode

2.17.1

  • Bugfixes
    • Fixed errors related to fetching document number from Egyptian ID
    • Fixed errors related to fetching validFrom and validUntil dates from Malaysian DL
    • Fixed errors related to returning and encoding face and full document images when using PPJordanIDCombinedRecognizerSettings
    • Fixed dateOfExpiry property type from NSString to NSDate on PPJordanIDCombinedRecognizerSettings

2.17.0

  • Updates and additions

    • added support for reading front and back side of Jordan ID - use PPJordanIDFrontRecognizerSettings and PPJordanIDBackRecognizerSettings
    • added Jordan Combined Recognizer - use PPJordanIDCombinedRecognizerSettings
    • added support for reading Egyptian ID Front - use PPEgyptIDFrontRecognizerSettings
    • added support for reading Malaysian DL Front - use PPMalaysianDLFrontRecognizerSettings
    • added support for reading Malaysian Passport IMM13P MRTD - be sure to set allowSpecialCharacters to truewhen creating PPMrtdRecognizerSettings
  • Improvements in ID scanning performance

    • Improved reading Malaysian MyKad and MyTentera
    • Improved reading VINs
    • Improved parsing of USDL
  • Bugfixes

    • fixed returning of face image when using PPUnitedArabEmiratesIDFrontRecognizer:
      • fixed face image position
    • fixed crash in PPDocumentFaceRecognizer
    • Fixed expiry date for magnetic stripe USDL subtype - using day of birth not last day of the month for license expiry day
    • Fixed rare crashes that sometimes happened when trying to fetch unparsed dates
    • fixed crashes that happened when trying to activate the torch while video input hasn't loaded

2.16.1

  • Bugfixes
    • fixed incorrect setting of missing dates to current date in MRTD recognizers. If date is not present in MRTD, the corresponding getter will now return nil
    • fixed an error where disabling extraction of some elements on PPNewZealandDLFrontRecognizerSettings did not work correctly

2.16.0

  • Updates and additions

    • added support for reading front side of Hong Kong ID - use PPHongKongIDFrontRecognizerSettings
    • added support for reading front and back side of Colombian ID - use PPColombiaIDFrontRecognizerSettingsand PPColombiaIDBackRecognizerSettings
    • added support for reading front and back side of United Arab Emirates ID - use PPUnitedArabEmiratesIDFrontRecognizerSettings and PPUnitedArabEmiratesIDBackRecognizerSettings
    • added support for reading front side of New Zealand drivers license - use PPNewZealandDLFrontRecognizerSettings
  • Improvements in ID scanning performance

    • Improved reading of Belgium ID BRZ OPT2 field
    • added support for reading Belgium MRZ with partial date of birth - PPMrtdRecognizerSettings.allowUnverifiedResults must be set to true
    • added support for reading Kenya MRZ - PPMrtdRecognizerSettings.allowUnverifiedResults must be set to true
    • improved MyKadFrontSideRecognizer and MyTenteraRecognizer:
      • better reading of name field
      • better reading of address field
  • Bugfixes

    • when setting DPI for full document image in concrete recognizer settings that has property fullDocumentImageDPI, exception is thrown if DPI value is not in the expected range [100, 400]
    • fixed a crash in Templating API caused by using a MultiDetector with DetectorRecognizer
      • fixed returning of face image when using PPUnitedArabEmiratesIDFrontRecognizer:
        • fixed face image position

2.15.0

  • Updates and additions

    • added support for reading back side of Malaysian MyKad - use PPMyKadBackRecognizerSettings
    • added support for reading Malaysian MyTentera documents - use PPMyTenteraRecognizerSettings
    • added support for reading Malaysian MyTentera documents with MyKad recognizer - use PPMyKadFrontRecognizerSettings and enable reading of army number
    • added support for setting DPI for full document images returned by PPMyKadFrontRecognizerSettingsPPMyKadBackRecognizerSettingsPPMyKadFrontRecognizerSettings and PPIKadRecognizerSettings:
    • use fullDocumentImageDPI on the corresponding recognizer settings
    • added full support for iPhone X layout for all SDK's overlay views
  • Minor API changes

    • renamed PPMyKadRecognizerSettings and PPMyKadRecognizerResult to PPMyKadFrontRecognizerSettingsand PPMyKadFrontRecognizerResult
  • Improvements in ID scanning performance

    • improved PPAustraliaDLFrontRecognizer:
      • improved reading of names and addresses
      • added support for reading first names with more words
    • improved PPSingaporeIDFrontRecognizer:
      • tuned ID card data extraction positions
    • improved Malaysian IKadRecognizer:
      • better reading of date of expiry and employer fields
  • Bugfixes

    • fixed crash in PPDocumentFaceRecognizer
    • added missing document classifier property documentClassifier to PPTemplatingRecognizerSettings

2.14.0

  • Updates and additions

    • added support for reading back side of new Australian Driver's licence for state Victoria - use PPAustraliaDLBackRecognizerSettings and PPAustraliaDLBackRecognizerResult
    • added support for reading front side of Indonesian ID - use PPIndonesianIDFrontRecognizerSettings and PPIndonesianIDFrontRecognizerSettings
    • added support for Malaysian visa with document code TS - use PPMrtdRecognizerSettings and PPMrtdRecognizerResult
    • added support for setting DPI for full document images returned by PPMrtdRecognizerSettingsPPAustraliaDLBackRecognizerSettingsPPAustraliaDLFrontRecognizerSettings and PPEudlRecognizerSettings:
      • use fullDocumentImageDPI on the corresponding recognizer settings
  • Minor API changes

    • removed imageDPI property on PPTemplatingRecognizerSettings
  • Improvements in ID scanning performance:

    • improved reading of Malaysian MyKad address

2.13.0

  • Updates and additions

    • added support for scanning front and back side of Polish ID - use PPPolishIDFrontRecognizerSettingsPolishIDBackRecognizerSettings and PPPolishIDCombinedRecognizerSettings
    • new document specification presets in PPDocumentPreset enum: PPDocumentPresetId1VerticalCard andPPDocumentPresetId2VerticalCard - use [PPDocumentSpecification newFromPreset] method to create document specification for detector
    • PPEudlRecognizer can return face image from the driver's license
    • warning for time limited license keys when using provided activities, custom UI integration or Direct API:
      • the goal is to prevent unintentional publishing of application to production with the demo license key that will expire
      • warning toast can be disabled by using showLicenseKeyTimeLimitedWarning property on PPUiSettings
    • added PPMrtdSpecification and method setMrtdSpecifications on PPMrtdDetectorSettings
      • setting PPMrtdSpecification on PPMrtdDetectorSettings will return results only for specified MRTD Documents
      • PPMrtdSpecification can be created using PPMrtdPresetPPMrtdPresetTd1, PPMrtdPresetTd2, PPMrtdPresetTd3
  • Minor API changes

    • PPDocumentDetectorResult does not contain information about screen orientation any more
  • Improvements in ID scanning performance:

    • improved face detection in DocumentFaceRecognizer: stable detection is required to prevent returning of blurred images
    • improved reading of Malaysian MyKad documents:
    • improved reading and parsing of address fields: previously recognizer was unable to read some documents because of the expected address format
    • improved reading of Malaysian visas and work permits
    • better reading of dates on Australian Driver's Licence

2.12.0

  • Updates and additions

    • Added Australian Driver Licence Recognizer PPAustraliaDLFrontRecognizerResult and PPAustraliaDLFrontRecognizerSettings for state Victoria
    • Added Swiss ID Back Recognizer PPSwissIDBackRecognizerResult and PPSwissIDBackRecognizerSettings
    • Added Swiss ID Front Recognizer PPSwissIDFrontRecognizerResult and PPSwissIDFrontRecognizerSettings
    • Added reading of mirrored QR codes
    • Added PPMrzFilter protocol and delegate mrzFilter on PPMrtdRecognizerSettings
      • Determines whether document should be processed or it is filtered out, based on its MRZ (Machine Readable Zone)
    • Introduced GlareDetector which is by default used in all recognizers whose settings implement GlareDetectorOptions:
      • When glare is detected, OCR will not be performed on the affected document position to prevent errors in the extracted data
      • If the glare detector is used and obtaining of glare metadata is enabled in MetadataSettings
      • Glare detector can be disabled by using detectGlare property on the recognizer settings
    • Added PPQuadDetectorResultWithSize which inherits existing PPQuadDetectorResult
      • It's subclasses are PPDocumentDetectorResult and PPMrtdDetectorResult
      • Returns information about physical size (height) in inches of the detected location when physical size is known
  • Minor API changes

    • PPBlinkOcrRecognizerResult and PPBlinkOcrRecognizerSettings are now deprecated. Use PPDetectorRecognizerResult and PPDetectorRecognizerSettings for templating or PPBlinkInputRecognizerResult and PPBlinkInputRecognizerSettings for segment scan
    • removed option to scan 1D Code39 and Code128 barcodes on US Driver's licenses that contain those barcodes alongside PDF417 barcode
  • Bugfixes:

    • Fixed crash which sometimes happened while scanning MRTD documents
    • Fixed returning valid data for MRZ based recognizers when not all fields outside MRZ have been scanned
    • Fixed crash in QR code which happened periodically in all recognizers
    • Fixed autorotation of overlay view controller
    • Fixed scanning return result type of PPDetectorRecognizerSettings when initialized with PPMrtdDetectorSettings - returning PPMrtdDetectorResult
  • Improvements in ID scanning performance:

    • Date parsing improvements
    • Better extraction of fields on back side of the Croatian ID card
    • Improved reading of issuing authority on Croatian ID back side
    • Improved USDLRecognizer - added support for new USDL standard

2.11.0

  • Updates and additions

    • Added Austrian Passport Recognizer PPAusPassportRecognizerResult and PPAusPassportRecognizerSettings
    • Added Swiss Passport Recognizer PPSwissPassportRecognizerResult and PPSwissPassportRecognizerSettings
    • Added support for scanning MRZ on Mexican voters card
    • Added support for reading Croatian ID with permanent DateOfExpiry in PPCroIDFrontRecognizerResult and PPCroIDCombinedRecognizerResult with BOOL property isDocumentDateOfExpiryPermanent
    • Added combining data from MRZ and fields in Austrian passport through PPAusIDCombinedRecognizerResultand PPAusIDCombinedRecognizerSettings
  • Bugfixes:

    • Fixed crash which sometimes happened while scanning MRTD documents
  • Improvements in ID scanning performance:

    • Improved scanning of IKad addresses
    • Improved reading of Croatian ID Address field
    • Improved reading of Croatian ID IssuedBy field

2.10.0

  • Updates and additions:

    • Added Barcode Recognizer PPBarcodeRecognizerResult and PPBarcodeRecognizerSettings
    • Deprecated PPBarDecoderRecognizerResult and PPBarDecoderRecognizerSettings. Use Barcode Recognizer
    • Deprecated PPZXingRecognizerResult and PPZXingRecognizerSettings. Use Barcode Recognizer
    • Added creation of customized build of framework. If your final app size is too large, you can create a customised build of MicroBlink.framework and MicroBlink.bundle which will contain only features and resources that you really need. You can see detailed explanation at Creating customized build of BlinkID SDK
    • Added US Driver's license Combined Recognizer PPUsdlCombinedRecognizerResult and PPUsdlCombinedRecognizerSettings
    • Added Austrian ID Combined Recognizer PPAusIDCombinedRecognizerResult and PPAusIDCombinedRecognizerSettings
    • Added Czech ID Combined Recognizer PPCzIDCombinedRecognizerResult and PPCzIDCombinedRecognizerSettings
    • Added Serbian ID Combined Recognizer PPSerbianIDCombinedRecognizerResult and PPSerbianIDCombinedRecognizerSettings
    • Added Singapore ID Combined Recognizer PPSingaporeIDCombinedRecognizerResult and PPSingaporeIDCombinedRecognizerSettings
    • Added Slovakian ID Combined Recognizer PPSlovakIDCombinedRecognizerResult and PPSlovakIDCombinedRecognizerSettings
    • Added Slovenian ID Combined Recognizer PPSlovenianIDCombinedRecognizerResult and PPSlovenianIDCombinedRecognizerSettings
    • Added MRTD Combined Recognizer PPMrtdCombinedRecognizerResult and PPMrtdCombinedRecognizerSettings
    • Added VIN Recognizer PPVinRecognizerResult and PPVinRecognizerSettings
    • Added nonMRZNationality and nonMRZSex properties to Romanian ID Recognizer for getting sex and nationality outside MRZ
    • Added support for long addresses and employer names for iKad
    • extractAddress property in PPSlovakIDBackRecognizerSettings is now removed since previously wasn't used
    • Added extractDocumentNumber property in PPSlovakIDFrontRecognizerSettings for defining if issuing document number should be extracted from Slovakian ID
    • Added to Slovakian ID Combined Settings options properties:
      • extractSex
      • extractNationality
      • extractDateOfBirth
      • extractDateOfExpiry
      • extractDateOfIssue
      • extractIssuedBy
      • extractDocumentNumber
      • extractSurnameAtBirth
      • extractPlaceOfBirth
      • extractSpecialRemarks
  • Bugfixes:

    • Fixed reading positions of ID elements on Slovakian ID card
    • Fixed reading positions of ID elements on Singapore ID card
  • Improvements in ID scanning performance:

    • Always read personal number field on front side of Slovakian ID card
    • Improved reading precision of address, place of birth, last name and issuing authority on Slovakian ID card
    • Improved reading of name and blood type on Singapore ID card
    • Improved reading of pdf417 barcodes having width:height bar aspect ratio less than 2:1

2.9.0

  • Updates and additions:

    • Microblink.framework is now a dynamic framework. The change is introduced because of the following reasons:
      • isolation of code
      • smaller binary size - roughly 38%
    • Improved Screen shown when Camera permission is not granted:
      • fixed crash which happened on tap anywhere on screen
      • close button can now be removed (for example, if the scanning screen is inside UINavigationControllerinstance)
      • Header is now public so you can instantiate that class if needed
    • Updated PPUiSettings with new features:
      • flag showStatusBar which you can use to show or hide status bar on camera screen
      • flag showCloseButton which you can use to show or hide close button on camera screen. By default it's presented, but when inside UINavigationController it should be hidden
      • flat showTorchButton which you can use to show or hide torch button on camera screen.
    • Deprecated PPHelpDisplayMode. You should replace it with a custom logic for presenting help inside the application using the SDK.
    • Renamed internal extension method with namespace so that they don't interfere with third party libraries
    • Added standard tap to focus overlay subview in all default OverlayViewControllers. Also added it as a public header.
    • PPScanningViewController now has a simple method to turn on torch
    • Simplified PPOcrLayout class (removed properties which were not used)
    • Updated PPTopUpOcrParserFactory with new feature:
      • flag returnCodeWithoutPrefix which does not return digits prefix and # at the end of scanned ussd code
    • Updated PPMrtdRecognizerSettings with new feature:
      • flag allowUnverifiedResults which allow obtaining results with incorrect check digits
  • Bugfixes:

    • Fixed case sensitivity in class & file naming
    • Fixed issue which sometimes caused scanning not to be started when the user is asked for camera permission (first run of the app)
    • Fixed rare crash which Camera paused label UI being updated on background thread
    • Fixed incorrect handling of camera mirror when using front facing camera
    • Fixed crash which sometimes happened when presenting help screens (if PPHelpDisplayModeAlways or PPHelpDisplayModeFirstRun were used)
  • Improvements in ID scanning performance:

    • added PPGermanIDCombinedRecognizer which enables reading of all data contained on German passports, old and new IDs
    • Improvements in MRTD scanning:
      • WSA (World Goverment of World Citizens) added as valid country code when parsing MRZ
    • Added option of encoding images of MRZ and full document in Machine readable travel documents and encoding of images in DocumentFaceRecognizer
    • Handling names containing dashes and extra long names inside combined recognizers

2.8.0

  • Improvements in iOS SDK:
    • Reduced library size by more than 20%
    • Fixed case sensitivity in class & file naming
    • ID result classes which have Date fields now return both parsed NSDate and raw NSString
  • Improvements in scanning:
    • TopUp scanning improvements
    • Restructured German ID recognizers into:
      • GermanIDFrontRecognizer, for scanning front side of the new German ID
      • GermanIDBackRecognizer, for scanning back side of the new German ID
      • GermanOldIDRecognizer, for scanning front side of the old German ID
      • GermanPassportRecognizer, for scanning front side of the German Passport
    • Splitting address on new German IDs to ZIP code, city, street and house number
    • Added name and surname dictionaries for the German ID front side recognizer which improves the scanning performance
    • MyKadRecognizer now knows how to split address to street, ZIP code, city and state
    • Improved CroIDCombinedRecognizer, which can scan both sides of the ID consecutively
    • Added support for polish IBAN without PL prefix in PPIbanParser
    • Improvements in CroID scanning, use multiple scans to boost confidence
  • Improvements in Samples:
    • Added MicroBlinkDynamic sample which packages our static library into a dynamic framework
    • Added libz to all samples to prevent linker errors (caused by slimming down the SDK)

2.7.1

  • Fixed wrong Assertion which didn't allow usage of custom Resources bundle.
  • Fixed internal bug which caused crashes if PPCoordinator applySettings was called with the same Recognizer settings (this is a very rare use case)

2.7.0

  • Added Romanian ID Front recognizer for scanning Romanian IDs.
  • Added SimCardRecognizer for scanning barcodes on Sim Cards
  • Added play success sound method to PPScanningViewController protocol
  • Added designated initializers to all PPOcrParserFactory objects
  • Added ID2 preset for creating DocumentSpecifications
  • Improved getters for image names which are used to get Images of the ID documents
    • they are now static methods instead of instance properties
  • Improved MRTDRecognizer with better support for Arab MRZ
  • Improved TopUpParser
    • Added Generic parsing in TopUpOcrParser
  • Updated CroatianIDFrontSideRecognizer: returning sex as written on front side of a document
  • Fixed issue with Direct API which disabled processing
  • Fixed issue with blurred camera display when PPCoordinator instance was reused between consecutive scanning sessions
  • Fixed crashed which happened when multiple instances of PPCoordinator were used simultaneously (one being terminated and one starting recognition). This most commonly happened when after scanning session, a new view controller was pushed to a Navigation View Controller, when the user repeated the procedure a number of times (five or more).
  • Updated sample apps:
    • Updated Detector-sample to use frame quality so that dewarped images are the sharpest
    • Updated BlinkID-sample and BlinkID-Swift-sample with easier obtaining of dewarped images
    • Updated DirectAPI-sample with support for OCR in all device orientations
    • Added AutodetectID-sample which uses DocumentFace recognizer
  • Internal switch to new build system using cmake. This allows faster deployments and easier updates in the future.

2.6.0

  • Added CroIDCombined recognizer which can scan both sides consecutively
  • Added DocumentFace recognizer which can be used to get the image of the ID document which contains a face
  • Added FaceDetector feature which can now be used in DetectorRecognizer.
  • Added support for extracting place of birth on old German IDs
  • Added property allowResultForEveryFrame in PPScanSettings which can be used when using Direct API to force calling didOutputResults: callback for every frame
  • Added feature to enable frame quality estimation when using Direct API (by exposing property estimateFrameQuality)
  • Added support for scanning IBAN from Georgia in IbanParser
  • Added logging of the SDK name when the license key is invalid for easier troubleshooting
  • Added Belgian account number check to IBAN parser
  • Added scaling of the default viewfinder in ID scanning overlay view
  • Added a property which you can use to set a custom location for resources. For example, if you would like to avoid using Microblink.bundle as resources bundle, you can set a different one in PPSettings object.
  • Improved quality of German ID address recognition
  • Updated - Singapore ID recognizer has now split in two recognizers - one for front and one for back side
  • Fixed Date of Birth scanning issue in MyKad Recognizer
  • Fixed MRTD returning payment data with verified = false when mrtdSettings.allowUnverified(false)
  • Fixed bug in MRTD recognizer where mrtd image were not returned although scanning was successful
  • Fixed crash when Single dispatch queue was used for processing
  • Fixed frame quality issue in PPimageMetadata. Previously it was always nan if used after image getter.
  • Fixed Torch button on default camera overlays. Previously it never changed state after it was turned on.
  • Fixed help display mode "First run", which previously didn't work
  • Fixed crash when the user tapped anywhere on the view controller presented when camera permission wasn't allowed
  • Fixed warning message when language is set to something other than @en, @de and @fr and @cro
  • Fixed crash on start in swift if custom UI was used to handle detector results
  • Fixed a problem which caused internal recognizer state not to be reset when using the scanner for the second time with the same PPCoordinator instance
  • Fixed ocrLayout getter in PPBlinkOcrRecognizer which previously returned nil
  • Fixed an issue which caused camera settings to be reset each time PPCoordinator's applySettings method was called. This issue manifested, for example, by automatically turning off torch after successful scan in SegmentScan.
  • Fixed redundant log warnings in setting language ("Trying to set language to nil, returning") and Camera manager ("Should not have been observing autofocus")

2.5.1

  • Updated default overlay UI for ID scanning
  • Fixed nullability annotations in result classes. Now, wherever the nilvalue is allowed, it means no data exists on the scanned document. If an empty string @"" is returned, this means the field exist, but it's empty.
  • Croatian ID scanning now uses dictionary for issuing authority for higher accuracy
  • Improved generic Amount and IBAN parsers

2.5.0

  • US Driver's Licence:
    • fixed parsing of Virgin Islands DL
    • added support for Arkansas DL
    • added support for new South Carolina DL
  • Malaysian ID:
    • added support for returning face image
    • fixed wrong parsing of birth date
    • added support for scanning Malaysian iKad documents
  • PPDateOcrParser returns result as NSDate object and as original date NSString
  • added methods specificParsedResultForName: and specificParsedResultForName:parserGroup: to PPTemplatingRecognizerResult (PPBlinkOcrRecognizerResult) which returns specific parser results, e.g. NSDatefor PPDateOcrParser
  • added support for scanning front and back side of Serbian ID cards
  • improved IBAN parser
  • PPMrtdRecognizerResult now returns date of expiry and date of birth as NSDate instead of NSString
  • all recognizer results (classes that derive PPRecognizerResult) now have annotated nullability for their getters. Some of them used to assume non-null, while still returning nil sometimes. This has now been corrected and all getters are _Nullable

2.4.0

  • iOS updates:
    • Aded Slovenian ID recognizer
    • Added parser for mobile coupons
    • Added frame quality property to PPImageMetadata
  • iOS bugfixes:
    • Fixed issue where Templating API wasn't working as expected on some devices.

2.3.0

  • iOS updates:
    • Added German ID recognizer
    • Added Slovakian ID recognizer
    • Improved performance of Croatian ID recognizer

2.2.1

  • iOS fixes:
    • Fixed problems with string localizations

2.2.1

  • iOS fixes:
    • CFBundleSUpportedPlatforms removed from Info.plist files
    • Applying affine transformation to PPQuadrangle now correctly assigns points.
    • When using both Direct API and PPCameraCoordinator, scanning results will now be correctly outputted to PPCoordinatorDelegate and PPScanningDelegate respectively
    • Fixed crashes related to camera permissions and added dummy view when camera permission is disabled
    • Fixed issues related to topLayoutGuide on iOS6
    • Improved performance of CroID recognizers
    • USDL elements can now be separated by \r
    • Improved performance of Date parser

2.2.0

  • iOS updates:

    • Added recognizer for Singapore ID
    • Added recognizer for Austrian ID
    • Added recognizer for Czech ID
  • iOS bugfixes:

    • PPOcrEngineOptions are now applyed correctly when set

2.1.0

  • iOS updates:

    • Added option to mirror camera frames in 'PPCameraSettings'
    • Added VIN parser
  • iOS bugfixes

    • Fixed deadlock when 'processImage:' is called from main thread

2.0.0

  • BlinkID now includes BlinkOCR and all it's features

  • iOS updates:

    • Implemented PPCameraCoordinatorPPCameraCoordinator assumes the role of PPCoordinator from previous versions while new PPCoordinator is used for Direct API (image processing without camera out management).
    • Increased speed of scanning for barcode type recognizers.
    • Implemented PPImage. When using Direct API you can wrap UIImage and CMSampleBufferRef into PPImage to ensure optimal performance.
    • Improved performance of Direct API. In addition, you can now use Direct API with your own camera management without any performance drawbacks.
    • Added method isCameraPaused to PPScanningViewController.
    • Added option to fllip input images upside down for processing with cameraFlipped property of PPCameraSettings.
    • Implemented PPViewControllerFactory for managing creation of PPScanningViewController objects.
    • PPImageMetadata now contains PPImageMetadataType property, which describes which image type was outputted.
  • Implemented templating API

    • Templating API allows creation of custom document scanners, linking specific parsers to specific locations on detected documents
  • iOS bugfixes:

    • New Direct API fixed possible deadlocks when sending large amounts of data

1.4.0

  • iOS bugfixes:

    • Fixed possible deadlock in some cases when MRTD documents are scanned.
    • Fixed issue with OCR speed on arm7 devices when Accelerate framework was used.
    • Fixed incorrect returning of Address and License number in UKDL scanning.
  • iOS updates:

    • PPOverlayViewController changed the way Overlay Subviews are added to the view hierarchy. Instead of calling addOverlaySubview: (which automatically added a view to view hierarachy), you now need to call registerOverlaySubview: (which registers subview for scanning events), and manually add subview to view hierarchy using addSubview: method. This change gives you more flexibility for adding views and managing autolayout and autoresizing masks.

    • Localization Macros MB_LOCALIZED and MB_LOCALIZED_FORMAT can now be overriden in your app to provide completely custom localization mechanisms.

    • Dramatically increased OCR engine initialization speed

    • Increased speed of scanning cancellation when Cancel button is pressed.

  • ID scanning improvements

    • Added EUDL recognizer (replaced UKDL recognizer). EUDL is capable of automatically detecting various EU Drivers licenses. Currently it works only on German and UK DLs.
    • Fixed issue with 0 and O misclassifications in MRTD recognition
    • Added support for Austrian MRTD ID documents
  • Internal changes:

    • Implementeded Templating API for easier implementation of new document types
    • Implemented Face detection
    • Implemented support for Eastern Arabic numeral characters

1.3.0

  • Added better integration for Swift

    • Added Nullability Attributes
    • Added modulemap file
    • Added sample app in Swift
  • Added recognizers for scanning barcodes

    • for scanning PDF417 barcodes, use PPPdf417Recognizer
    • for scanning Code128 and Code39 barcodes, use PPBarDecoderRecognizer
    • for scanning QR codes, and other barcode types, use PPZxingRecognizer
  • Refactored PPMetadataSettings

    • Added debug metadata settings for debugging payslip detection and image processing
    • successfulScanFrame renamed to successfulFrame
    • currentVideoFrame renamed to currentFrame
  • Exposed PPModernViewfinderOverlaySubview overlay subview class in public headers. This enables you to more easily recreate default overlay UI in your custom Overlay view controllers.

  • Added Detector API, a completely new feature which enables you to detect various document types on images. Detector API allows two types of document detections

    • MRTD detection (based on OCR line detection, for MRTD documents like passports, visas, ...)
    • Document Detection (based on edge detection, for ID cards, plastic cards, credit cards, ...)
  • in PPCoordinator, renamed method isScanningUnsupported: to isScanningUnsupportedForCameraType:error:. This was introduced to provide more granularity in checking if scanning is supported.

  • Fixed issues in obtaining images in scanning, most notably in MyKad scanning.

  • Fixed issues with Direct API processing of UIImages in some orientations

  • Fixed issues with scanning MRZ lines on arm7 devices.

1.2.0

  • Added recognition of Malysian ID cards (MyKads). To use MyKad recognition initialize the scanning library using PPMyKadRecognizerSettings

  • Improvements in UK drivers license recognition. BlinkID is now tested on many more UKDL samples and yields much higher recognition rate.

  • Improvements in MRTD recognition. Errors such as '0' and 'O' confusions should no longer happen. Improved MRTD document detection algorithm, which now makes old "fixed" recognition redundant. Because of that, the feature to define mrtdRoi is now removed.

  • Added feature to obtain cropped and trimmed image of the whole MRTD document.

  • Fixed several issues in USDL parsing - implemented special cases for barcodes which don't have keys according to the AAMVA version written in the barcode - implemented heuristics for extraction of firstName, middleName, lastName, address, and other fields, if they can be determined based on the other fields.

  • Bugfixes and tweaks in camera management code - fixed potential deadlock when multiple instances of PPCoordinator objects are instantiated. - exiting from the scanning when user presses "cancel" button is now faster

  • Renamed PPUkdlRecognizerResult's property ownerAdress to ownerAddress (fixed typo)

1.1.0

  • PPMrtdRecognizerSettings now sets detectMachineReadableZonePosition to YES by default. This means MRZ detection will work by default, meaning you no longer need to position the ID card precisely inside the frame shown in the UI.

  • Added full support for parsing MRTD documents according to ICAO Document 9303 standard)

  • Added support for scanning VISAs, and Belgian ID documents.

  • PPMrtdRecognizerSettings now has a new settings allowUnparsedResults (default: NO), which you can use to get raw OCR results of the MRZ text, even if BlinkID parsing didn't manage to parse the text (this can happen since MRZ isn't always formatted according to ICAO Document 9303 standard)

    • When YES, MrtdRecognizerResult will be returned with isParsed property set to NO, and with rawOcrLayoutproperty set to the PPOcrLayout object which was the result of the OCR process.

    • You should be careful when this property is set to YES, since obtained OcrLayout can contain OCR errors (for example (0 <-> O, 2 <-> Z, etc.). If you set this to YES, then you need to perform your own parsing and error correction.

    • If you set this to YES, we suggest the following approach in your result callback

      • obtain mrtdResult
      • if [mrtdResult isParsed]
        • present result and return
      • else if mrtdResult can be parsed with your custom parsing algorithm
        • present your custom results and return
      • else continue scanning since MRTD result cannot be parsed at all
  • Improved video frame quality detection: now only the sharpest and the most focused frames are being processed. This improves quality of the results, but at a slight expense of processing time

  • Frame quality estimation can now be enabled using PPScanSettings frameQualityEstimationMode property:

    • when set to PPFrameQualityEstimationModeOn, frame quality estimation is always enabled
    • when set to PPFrameQualityEstimationModeOff, frame quality estimation is always disabled
    • when set to PPFrameQualityEstimationModeDefault, frame quality estimation is enabled internally, if the SDK determines it makes sense
  • iOS 9 introduced new app multitasking features Split View and Slide Over. When the scanner is on screen and one of those features are used, iOS automatically pauses the Camera (this behaviour is default as of iOS 9 beta 5). This SDK version introduces new setting in PPUISettings class, called cameraPausedView, where you can define the UIViewwhich is presented centered on screen when this happens.

  • Known issue on iOS 9: if you use Autorotate overlay feature (settings.uiSetttings.autorotateOverlay), present PPScanningViewController as a modal view controller, and support Split View iOS 9 feature, then autorotation of camera overlays isn't correct. The best way is to opt-out of Split View feature, and wait for SDK fix when iOS 9 comes out of beta.

  • PPScanningViewController methods pauseScanningisScanningPaused, and resumeScanningAndResetState:should now be called only from Main thread, and they are effective immediately. E.g., if pauseScanning is called and there is a video frame being processed, result of processing of that frame will be discarded, if resumeScanningAndResetState: isn't called in the meantime.

  • Added support for PPCameraPresetPhoto camera preset. Use this if you need the same zoom level as in iOS Camera app. The resolution for video feed when using this preset is the same as devices screen resolution.

1.0.1

  • Added support for several new special cases of US Driver Licenses in USDL recognizer.

  • Disabled Bitcode in Sample apps so that they are buildable with XCode 7 (Bitcode support in the framework coming soon!)

  • Added library dependencies in podspec without which the app after integration couldn't be built

1.0.0

  • Changes in Direct processing API

    • You are no longer required to call PPCoordinator initializeRecognizers and PPCoordinator terminateRecognizers.
    • Instead, initializeRecognizers is called lazily on first call of processImage method.
    • terminateRecognizers is called automatically in PPCoordinator destructor
  • Added support for autorotation of PPScanningViewController. To support autorotation, use PPScanningViewController's new properties autorotate and supportedOrientations

  • Added didOutputMetadata: callback method to PPOverlayViewControllers

  • Fixed bug which caused Overlay events to be called when direct API is used. Direct API now only reports events to PPScanDelegate instance.

  • Fixed bug which caused image property of PPImageMetadata not take the image orientation into account

  • PPMetadataSettings cleanup

  • PPApp class no longer part of public API

0.9.6

  • US passport scanning now has less confusions between characters 0 and O
  • Fixes for French passport format
  • Fixed timeout bug which manifested between consecutive scans

0.9.5

  • Added Direct processing API

0.9.4

  • Added support for defining region for scaninng in PPMrtdRecognizerSettings

  • For example, with this code you can specify bottom 25% of the image will be used for MRZ scanning.

PPMrtdRecognizerSettings *mrtdSettings = [[PPMrtdRecognizerSettings alloc] init];
mrtdSettings.mrtdRoi = CGRectMake(0.0, 0.75, 1.0, 0.25);
[settings.scanSettings addRecognizerSettings:mrtdSettings];

0.9.3

  • Added support for scanning UK Driver's license. To scan them, add PPUkdlRecognizerSettings to settings.scanSettings
[settings.scanSettings addRecognizerSettings:[[PPUkdlRecognizerSettings alloc] init]];
  • To collect UKDL results, look for PPUkdlRecognizerResult object in scanningViewController:didOutputResults:callback
for (PPRecognizerResult *result in results) {
        if ([result isKindOfClass:[PPUkdlRecognizerResult class]]) {
                PPUkdlRecognizerResult* ukdlResult = (PPUkdlRecognizerResult*)result;
                [self processUkdlResult:ukdlResult scanningViewController:scanningViewController];
        }
}
  • License key format is now changed. If you use license keys generated pior to this version, please contact us so we can generate you a new license key

  • Methods and properties in PPCoordinator class which were not meant to be part of the public API are now hidden.

0.9.2

  • Naming changes in API (see Transition guide)

    • PPBaseResult renamed to PPRecognizerResult
    • PPBaseResult subclasses renamed accordingly
    • PPOcrResult renamed to PPOcrLayout
  • Each PPRecognizerResult now has implemented description method for easier debugging

  • Fixed orientation handling for case when overlay autorotates.

  • Scanning region is now a property of Scanning view controller, and overlay view controller now delegates to this property.

0.9.1

  • API consolidation, Bugfixes and improvements

0.9.0

  • Initial documentation added

0.6.0

  • Initial USDL and MRZ scanning
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments