Releases: BlinkID/blinkid-ios
Releases · BlinkID/blinkid-ios
v2.11.0
-
Updates and additions
- Added Austrian Passport Recognizer
PPAusPassportRecognizerResult
andPPAusPassportRecognizerSettings
- Added Swiss Passport Recognizer
PPSwissPassportRecognizerResult
andPPSwissPassportRecognizerSettings
- Added support for scanning MRZ on Mexican voters card
- Added support for reading Croatian ID with permanent DateOfExpiry in
PPCroIDFrontRecognizerResult
andPPCroIDCombinedRecognizerResult
with BOOL propertyisDocumentDateOfExpiryPermanent
- Added combining data from MRZ and fields in Austrian passport through
PPAusIDCombinedRecognizerResult
andPPAusIDCombinedRecognizerSettings
- Added Austrian Passport Recognizer
-
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
v2.10.0
-
Updates and additions:
- Added Barcode Recognizer
PPBarcodeRecognizerResult
andPPBarcodeRecognizerSettings
- Deprecated
PPAztecRecognizerResult
andPPAztecRecognizerSettings
. Use Barcode Recognizer - Deprecated
PPBarDecoderRecognizerResult
andPPBarDecoderRecognizerSettings
. Use Barcode Recognizer - Deprecated
PPZXingRecognizerResult
andPPZXingRecognizerSettings
. 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
andPPUsdlCombinedRecognizerSettings
- Added Austrian ID Combined Recognizer
PPAusIDCombinedRecognizerResult
andPPAusIDCombinedRecognizerSettings
- Added Czech ID Combined Recognizer
PPCzIDCombinedRecognizerResult
andPPCzIDCombinedRecognizerSettings
- Added Serbian ID Combined Recognizer
PPSerbianIDCombinedRecognizerResult
andPPSerbianIDCombinedRecognizerSettings
- Added Singapore ID Combined Recognizer
PPSingaporeIDCombinedRecognizerResult
andPPSingaporeIDCombinedRecognizerSettings
- Added Slovakian ID Combined Recognizer
PPSlovakIDCombinedRecognizerResult
andPPSlovakIDCombinedRecognizerSettings
- Added Slovenian ID Combined Recognizer
PPSlovenianIDCombinedRecognizerResult
andPPSlovenianIDCombinedRecognizerSettings
- Added MRTD Combined Recognizer
PPMrtdCombinedRecognizerResult
andPPMrtdCombinedRecognizerSettings
- Added VIN Recognizer
PPVinRecognizerResult
andPPVinRecognizerSettings
- Added
nonMRZNationality
andnonMRZSex
properties to Romanian ID Recognizer for getting sex and nationality outside MRZ - Added support for long addresses and employer names for iKad
extractAddress
property inPPSlovakIDBackRecognizerSettings
is now removed since previously wasn't used- Added
extractDocumentNumber
property inPPSlovakIDFrontRecognizerSettings
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
- Added Barcode Recognizer
-
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
v2.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
UINavigationController
instance) - 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 insideUINavigationController
it should be hidden - flat
showTorchButton
which you can use to show or hide torch button on camera screen.
- flag
- 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
- flag
- Updated PPMrtdRecognizerSettings with new feature:
- flag
allowUnverifiedResults
which allow obtaining results with incorrect check digits
- flag
- Microblink.framework is now a dynamic framework. The change is introduced because of the following reasons:
-
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
orPPHelpDisplayModeFirstRun
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
v2.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 rawNSString
- 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)
v2.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) - Added working license key in pdf417-sample for Aztec scanning
v2.7.0
- Added Romanian ID Front recognizer for scanning Romanian IDs.
- Added SimCardRecognizer for scanning barcodes on Sim Cards
- Added AztecRecognizer with state of the art Aztec barcode reading. This can be used for scanning digital boarding passes, train tickets, and many more use cases.
- 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
- Updated pdf417-sample with support for Aztec scanning
- 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.
v2.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")
v2.5.1
- Updated default overlay UI for ID scanning
- Fixed nullability annotations in result classes. Now, wherever the
nil
value 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
v2.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 asNSDate
object and as original dateNSString
- added methods
specificParsedResultForName:
andspecificParsedResultForName:parserGroup:
toPPTemplatingRecognizerResult
(PPBlinkOcrRecognizerResult
) which returns specific parser results, e.g.NSDate
forPPDateOcrParser
- 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 asNSDate
instead ofNSString
- all recognizer results (classes that derive
PPRecognizerResult
) now have annotated nullability for their getters. Some of them used to assume non-null, while still returningnil
sometimes. This has now been corrected and all getters are_Nullable