diff --git a/CHANGELOG.md b/CHANGELOG.md index a31ab41f..e01e8daa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,40 @@ +## 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](http://www.icao.int/Security/mrtd/pages/Document9303.aspx) 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](http://www.icao.int/Security/mrtd/pages/Document9303.aspx) standard) + + - When YES, `MrtdRecognizerResult` will be returned with `isParsed` property set to NO, and with `rawOcrLayout` property 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 `UIView` which 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 `pauseScanning`, `isScanningPaused`, 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. diff --git a/PPBlinkID.podspec b/PPBlinkID.podspec index f936c35b..5d830e90 100644 --- a/PPBlinkID.podspec +++ b/PPBlinkID.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "PPBlinkID" - s.version = "1.0.1" + s.version = "1.1.0" s.summary = "A delightful component for barcode scanning" s.homepage = "http://microblink.com" @@ -31,7 +31,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/BlinkID/blinkid-ios.git', - :tag => 'v1.0.1' + :tag => 'v1.1.0' } s.preserve_paths = 'MicroBlink.embeddedframework/*' diff --git a/README.md b/README.md index d7b4d99f..06456162 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ pod try PPBlinkID ```ruby platform :ios, '6.0' -pod 'PPBlinkID', '~> 1.0.1' +pod 'PPBlinkID', '~> 1.1.0' ``` ## Requirements diff --git a/Release notes.md b/Release notes.md index a31ab41f..e01e8daa 100644 --- a/Release notes.md +++ b/Release notes.md @@ -1,3 +1,40 @@ +## 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](http://www.icao.int/Security/mrtd/pages/Document9303.aspx) 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](http://www.icao.int/Security/mrtd/pages/Document9303.aspx) standard) + + - When YES, `MrtdRecognizerResult` will be returned with `isParsed` property set to NO, and with `rawOcrLayout` property 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 `UIView` which 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 `pauseScanning`, `isScanningPaused`, 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. diff --git a/Transition guide.md b/Transition guide.md index b25052cb..015dd58e 100644 --- a/Transition guide.md +++ b/Transition guide.md @@ -1,6 +1,10 @@ +## 1.1.0 + +- No backwards incompatible changes. See Release notes for new features. + ## 1.0.1 -- No changes +- No backwards incompatible changes ### Transition to 1.0.0 @@ -14,15 +18,15 @@ ## 0.9.6 -- No changes +- No backwards incompatible changes ## 0.9.5 -- No changes +- No backwards incompatible changes ## 0.9.4 -- No changes +- No backwards incompatible changes ### Transition to 0.9.3