Skip to main content

Changelog

Version 5.1.0 (6 Sep 2024):

  • 🎉 New:
    • Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Import startBarcodeScanner from capacitor-plugin-scanbot-sdk/ui_v2 to leverage the new UI. See our updated documentation for a full set of examples and use cases.
    • Added new data recognizers on still images: recognizeMedicalCertificate, recognizeEHIC, recognizeGenericDocument.
    • Added support for new barcode format MICRO_PDF_417. MICRO_PDF_417 literal added to type BarcodeFormat.
    • Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
    • Added support for Canadian and UAE Check standards. UAE and CAN literals added to type CheckStandard.
    • Added support for German residence permits (2011 and 2019 formats) in GenericDocumentRecognizer. DE_RESIDENCE_PERMIT_FRONT and DE_RESIDENCE_PERMIT_BACK literals added to type GenericDocumentType. Wrapper classes added for the generic document result (DeResidencePermitFront, DeResidencePermitBack).
    • Added new class-based image filters ParametricFilters:
      • ScanbotBinarizationFilter
      • CustomBinarizationFilter
      • ColorDocumentFilter
      • BrightnessFilter
      • ContrastFilter
      • GrayscaleFilter
      • WhiteBlackPointFilter
      • LegacyFilter (encapsulates the deprecated ImageFilterType filters)
    • Added new VALIDATION_FAILED literal to type CheckStatus.
    • Added new type DocumentQualityAnalyzerArguments to better describe the input parameters for documentQualityAnalyzer.
    • Added new type HealthInsuranceCardFieldType to better describe the type property in HealthInsuranceCardField.
    • Added new types OCRBoundingBox, OCRResultBlock and OCRPage to better describe PerformOCRResult.
    • Added new property detectionStatus of type HealthInsuranceCardDetectionStatus in HealthInsuranceCardScannerResult.
    • Added new property acceptedBrightnessThreshold in DocumentScannerConfiguration, FinderDocumentScannerConfiguration.
    • Added new property textDataValueFilter in TextDataScannerConfiguration.
    • Added new property userDefinedFields of type TIFFUserDefinedField[] in WriteTIFFArgument.
    • Added new property minimumNumberOfSymbols in DocumentQualityAnalyzerArguments.
    • Added new properties pageFitMode, dpi, jpegQuality, resample and ocrConfiguration in CreatePDFArguments.
    • Added new properties engineMode, lowPowerMode, codeDensity in DetectBarcodesOnImageArguments.
    • Added new property parametricFilters in Page.
    • Added new literals OK_OFF_CENTER and OK_BARCODE to type DetectionStatus.
    • Added new applyImageFilters and applyImageFiltersOnPage APIs that accept an array of parametric filters as input and apply them to an image or page, respectively.
    • The result of the document scanner RTU screen has metadata that shows the current state of the flash, multiPage, and autoSnapping settings during scanning.
  • 🚀 Improvements:
    • The Barcode Scanner now supports transposed (mirrored/flipped) Aztec barcodes.
    • The Health Insurance Card Recognizer now implements the new Scanbot OCR engine. The recognition is faster and more accurate than before.
    • iOS: IMPORTANT: Changed the default rear cameras on all scanners to the triple or dual camera. On some devices with triple camera this results in a different view port (more zoomed in). Please make sure to adapt your zoom ranges and factors.
    • iOS: Improved the installation of custom OCR languages for the Tesseract OCR engine.
    • iOS: Improved speed and image quality of still image capturing.
    • iOS: Added support of haptic feedback on capable devices.
    • Android: Optimized speed of the camera preview frames handling for all scanners.
    • Android: Optimized memory consumption for PDF rendering with encryption enabled.
    • Android: Text detection is faster and more accurate.
    • Android: Improved MRZ parser for a stronger rejection of outliers.
    • Android: Improved speed and quality of scanning for GenericDocumentRecognizer.
    • Android: Changed touch to focus square in the native camera view to a circle.
    • Android: writeTiff API method can be used with encryption.
  • 🐞 Bug fixes:
    • Android: For BarcodeFormat.PDF_417, a single case to generate clusters was not covered, which led to a crash.
    • Android: Fixed an issue with misaligned barcode polygons on some devices with horizontal orientation.
    • Android: Fixed null pointer exception for PageFileStorage operations.
    • Android: BarcodeExtensionsFilter now accepts EAN and UPC barcodes with extensions only and all other formats without extensions.
    • Android: Fixed recognizeMRZ API crash on some devices due to incorrect image loading.
  • ⚠️ Breaking changes:
    • startBarcodeScanner, closeBarcodeScanner, startBatchBarcodeScanner, closeBatchBarcodeScanner have been deprecated. Please see RTU-UI version 2 for Barcode scanning.
    • Removed getFilteredDocumentPreviewUri and associated types. Please utilize applyImageFiltersOnPage.
    • Removed detectBarcodesOnImages and associated types. Please utilize detectBarcodesOnImage.
    • Removed literal FAIL from CheckStatus. All failed check recognitions are now being rejected.
    • Removed literals CCITTFAX3 and CCITTFAX4 from TIFFCompression. Use CCITT_T4 and CCITT_T6 respectively.
    • Replaced GenericDocumentWrapper with the improved GenericDocument.
    • Changed formattedResult type to a GenericDocument in BarcodeResultField. Removed the previous barcode document interfaces (AAMVADocumentFormat, BoardingPassDocumentFormat, GS1DocumentFormat, IDCardPDF417DocumentFormat, MedicalCertificateDocumentFormat, MedicalPlanDocumentFormat, SEPADocumentFormat, SwissQRCodeDocumentFormat, VCardDocumentFormat), and replaced them with the improved and more capable wrapper classes (AAMVA, BoardingPass, GS1, IDCardPDF417, MedicalCertificate, DEMedicalPlan, SEPA, SwissQR, VCard).
    • Changed check type to a GenericDocument in CheckRecognizerResult. Removed the previous check document interfaces (USACheckDocument, FRACheckDocument, KWTCheckDocument, AUSCheckDocument, INDCheckDocument, ISRCheckDocument, UnknownCheckDocument), and replaced them with the improved and more capable wrapper classes (USACheck, FRACheck, KWTCheck, AUSCheck, INDCheck, ISRCheck, UnknownCheck).
    • Changed mrz type to a GenericDocument in RecognizeMRZResult. Removed the previous mrz document interface (MRZDocument) and replaced it with the improved and more capable wrapper class (MRZ).
    • Changed documents type to a GenericDocument[] in GenericDocumentRecognizerResult. Removed the previous generic document interfaces (MRZDocument, DeIdCardFrontDocument, DeIdCardBackDocument, DePassportDocument, DeDriverLicenseFrontDocument, DeDriverLicenseBackDocument), and replaced them with the improved and more capable wrapper classes (MRZ, DeIdCardFront, DeIdCardBack, DePassport, DeDriverLicenseFront, DeDriverLicenseBack).
    • Changed acceptedCheckStandards property type to CheckDocumentModelRootType in recognizeCheck.
    • Replaced literals RSS_14 and RSS_EXPANDED with DATABAR and DATABAR_EXPANDED in BarcodeFormat.
    • Replaced property oneBitEncoded with binarizationFilter in WriteTIFFArguments.
    • Renamed property pageOrientation to pageDirection in CreatePDFArguments.
    • Renamed type MRZDocumentType to MRZDocumentTypes, PDFPageSize to PageSize, PDFPageOrientation to PageDirection.
    • Removed type RemovePageResult. removePage now returns status only.
    • Removed type CheckRecognizerScreenResult.
    • Removed applyImageFilter and applyImageFilterOnPage. The new applyImageFilters and applyImageFiltersOnPage accept parametric filter array.
    • The following properties are now required:
      • page in CroppingResult
      • documentImageFileUri and polygon in DetectDocumentResult
      • result in TextDataScannerResult
      • all properties of LicensePlateScannerResult
      • all properties of VinScannerResult
    • Reworked performOCR parameters and result. See PerformOCRResult and PerformOCRArguments.
    • ZoomRange can be created with any input values but will be limited under the hood by internal MIN_ZOOM (x0.2) and MAX_ZOOM (x100) values.
    • BarcodeFormat.CODE_25 is no longer being scanned with the default configuration and needs to be included explicitly in the barcode formats array for all barcode scanners.
    • iOS: Important: The default rear camera in all scanners has been changed from the ultra-wide or wide camera to the triple or dual camera.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK to v5.1.3.
    • Upgraded the native Scanbot iOS SDK to v5.1.4.
    • Added 3rd-party library libzueci version 1.0.0.
    • Updated 3rd-party libraries: libjpeg-turbo to 2.1.5.1, libpng to 1.6.40 and libtiff to 4.6.0.
    • iOS: Refactored all public SDK code to Swift.
    • iOS: Updated 3rd-party library zlib to version 1.3.1.
    • Android: Added 3rd-party library zlib.
    • Android: Added Theme.AppCompat.NoActionBar theme as default for Barcode Scanner RTU UI v2 activity.
    • Android: Fixed pro-guard rules for DocumentQualityAnalyzer.
    • Android: Added more rules for R8 shrinker to work adequately with AGP >= 8.
    • Android: Added an R8 consumer rule to keep the internals of io.scanbot.core.processor.ImageProcessor from shrinking/obfuscating.
    • Android: Added Consumer Proguard rules for RTU UI v2 modules.

Version 4.3.0 (2 May 2024)

  • 🎉 New:
    • Added textDataValueFilter property to TextDataScannerConfiguration that accepts regex strings. Default is undefined (no filter applied).
  • 🐞 Bug fixes:
    • Fixed gs1HandlingMode property for detectBarcodesOnImage and detectBarcodesOnImages.
  • ⚠️ Breaking Changes:
    • Updated to Capacitor version 6

Version 4.2.0 (11 Apr 2024)

  • 🎉 New:
    • Introduced VIN Scanner RTU UI (see startVinScanner).
    • Introduced Document Quality Analyzer. It analyzes the text quality (legibility) on images.
    • Added new Barcode Types: MICRO_QR_CODE, INDUSTRIAL_2_OF_5, USPS_INTELLIGENT_MAIL, ROYAL_MAIL, JAPAN_POST, ROYAL_TNT_POST, AUSTRALIA_POST, DATABAR_LIMITED, GS1_COMPOSITE.
    • Added support for Kuwait ID cards in the MRZ scanner.
    • Added support for the Israeli Check standard.
    • New generation of Text Data Scanner RTU UI. The quality and speed of scanning has significantly improved. Changed the default OCR engine to the new Scanbot_OCR engine. With the new ML-based OCR engine the speed of text recognition has increased twofold. The new OCR engine currently supports all languages with latin letters, there is no need to specify the languages for it.
    • Tesseract language traindata is no longer needed by default. Tesseract engine mode can still be used with customization of OCR config.
    • Added a type literal, BACK_WIDEST for CameraModule (iOS only).
    • Added a type literal, CREW_MEMBER_CERTIFICATE for MRZDocumentType.
    • Added new type literals for PDFPageSize.
    • Added new types:
      • FinderDocumentScannerResult that describes the result of startFinderDocumentScanner
      • BarcodeScannerResult that describes the result of startBarcodeScanner
      • BatchBarcodeScannerResult that describes the result of startBatchBarcodeScanner
      • TextDataRecognitionResult that describes the result of TextDataScannerResult
      • HealthInsuranceCardField that describes the fields of the HealthInsuranceCardScannerResult
      • MedicalCertificateDatesInfo, MedicalCertificateCheckboxesInfo, MedicalCertificatePatientDataInfo and MedicalCertificatePatientDataInfoField to better describe MedicalCertificateRecognizerResult
      • PerformOCRArguments to better describe the arguments for performOcr function
      • CreatePDFArguments to better describe the arguments for createPDFResult function
      • WriteTIFFArguments to better describe the arguments for writeTIFF function
    • Added new properties in the following configurations:
      • DocumentScannerConfiguration: flashButtonHidden, flashButtonTitle, touchToFocusEnabled and preferredAspectRatios
      • FinderDocumentScannerConfiguration: flashButtonHidden and touchToFocusEnabled
      • CroppingConfiguration: topBarTitle and topBarTitleColor
      • BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration: barcodesExtensionFilter, flashButtonHidden, flashButtonTitle, touchToFocusEnabled, viewFinderEnabled, barcodeValueFilter and confirmationDialogConfiguration
      • MrzScannerConfiguration, HealthInsuranceCardScannerConfiguration, TextDataScannerConfiguration, LicensePlateScannerConfiguration, MedicalCertificateRecognizerConfiguration, CheckRecognizerConfiguration and GenericDocumentRecognizerConfiguration: flashButtonHidden, flashButtonTitle and touchToFocusEnabled
    • Added support for inverted PDF-417 barcodes.
    • MRZ support for td1 long document standard.
    • Android: Added a new implementation of extractImagesFromPdf and extractPagesFromPdf.
    • iOS: Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK.
  • 🚀 Improvements:
    • Improved accuracy and detection speed of QR_CODE, CODE_39, and CODE_93 barcode types.
    • Improved the speed of barcode recognition for most barcode symbologies.
    • Improved contour lines detection with ML Based detection.
    • acceptedCheckStandards can now be set when calling recognizeCheck.
    • Android: Stripped down the Android dynamic symbol table in native libraries. As a result, the size of the native shared libraries has decreased.
    • Android: Optimized the size of native libraries integrated into the Scanbot SDK.
    • Android: Enhanced error handling behavior when deleting SDK pages.
    • Android: Improved quality and speed of the Document Contour detector.
    • Android: Decreased size of Document Contour detector ML model.
    • iOS: Changed the default zoom range from (0.0 - 3.0) to (0.0 - 12.0) for cameraZoomRange in all RTU-UI configurations.
    • Android: Proguard rules needed for Scanbot SDK are embedded in the plugin. There is no need to manually specify them in your project.
  • 🐞 Bug fixes:
    • Before, for certain invalid decoding of QR, an exception was thrown from ZXing. Now we rigorously treat this as a format error.
    • Before, we have returned CODE_25 results when INDUSTRIAL_2_OF_5 was enabled and CODE_25 was disabled. Now, we do not return the CODE_25 result for such decoding options.
    • Fixed the detection of a few false positive RSS Expanded codes in live mode.
    • Android: Fixed potential memory leak in all RTU-UI screens.
    • Android: Fixed some OOM crashes on low to midrange devices.
    • Android: Fixed false positives for CODE_39 and CODABAR barcodes.
    • Android: Fixed colors not being applied to fields in GenericDocumentRecognizerConfiguration.
    • Android: Fixed crash in TextDataScanner on ARM v7 devices.
    • Android: Fixed bug with invisible back button on Document Scanner RTU UI screens when no Camera permission was granted.
    • Android: Fixed the logic in autoSnapProgressEnabled and polygonAutoSnapProgressEnabled methods in FinderDocumentScannerConfiguration and DocumentScannerConfiguration respectively.
    • Android: Fixed textDataScannerStep not applying in TextDataScannerConfiguration.
    • Android: Fixed behavior of ocrResolutionLimit in TextDataScannerConfiguration.
    • Android: Corrected mapping of userGuidanceStrings in CheckRecognizerConfiguration.
    • Android: Fixed enableCameraButtonTitle and enableCameraExplanationText parameters on BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration.
    • iOS: Fixed issues with performOCR functionality.
    • iOS: Fixed storage path issue for some of the operations when setting custom storage.
    • iOS: Fixed a crash when denying camera permission.
    • iOS: Fixed a bug with magnetic lines in CroppingScreen RTU UI.
    • iOS: Fixed a bug where the polygon should be mirrored when using the front camera in DocumentScannerResult.
    • iOS: Fixed a bug where automaticSelectionEnabled was not working properly in BarcodeScannerConfiguration.
    • iOS: Fixed a bug where flashEnabled was not working properly in HealthInsuranceCardScannerConfiguration.
    • iOS: Fixed a bug where ocrResolutionLimit was not being used in TextDataScannerConfiguration.
    • iOS: Fixed a bug with the iPad 5th generation where captured images were wrong.
    • iOS: Fixed a bug where the finder text hint was still showing when viewFinderEnabled was disabled in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration.
    • iOS: Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
  • ⚠️ Breaking Changes:
    • iOS: Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
    • status property is included in ResultWrapper interface and extracted from all resulting interfaces.
    • All file outputs are now represented as encoded URI strings.
    • Removed deprecated functions getStoredPageIds, getPageImageUris and getPageById.
    • ImageFilterType type literals are changed. Replace the type literals in order to use applyImageFilter, applyImageFilterOnPage, getFilteredDocumentPreviewUri and all Page functionalities.
    • MRZ Scanner and recognizeMRZ result breaking changes: field property in the result is removed and replaced with mrz of type MRZDocument. All types associated with fields property have been removed.
    • Check Recognizer and recognizeCheck result breaking changes: field property in the result is removed and replaced with check of type CheckDocument. All types associated with fields property have been removed.
    • GenericDocumentRecognizer result breaking changes: result is restructured to return an array containing the types MRZDocument, DeIdCardFrontDocument, DeIdCardBackDocument, DePassportDocument, DeDriverLicenseFrontDocument and DeDriverLicenseBackDocument. Previous types and properties have been removed.
    • The estimateBlur functionality has been removed and replaced by the far superior documentQualityAnalyzer.
    • recognizeCheck argument is redefined to be an object that contains imageFileUri and acceptedCheckStandards.
    • imageUri has been renamed to imageFileUri in setDocumentImage function argument object.
    • The property enableGS1Decoding has been replaced by gs1HandlingMode in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration. GS1 codes are now handled differently for various barcode types. Using the default option PARSE will give the same result as before for all barcode types, except of RSS_EXPANDED. Previously, for RSS_EXPANDED, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, it is needed to choose the option DECODE.
    • Property supportedLanguages has been removed from HealthInsuranceCardScannerConfiguration.
    • Property barcodeImageGenerationType has been removed from BarcodeScannerConfiguration.
    • Properties rawText and isValidationSuccessful removed from LicensePlateScannerResult.
    • Property textFilterStrategy has been removed from TextDataScannerStep.
    • Property subfiles in AAMVADocumentFormat now returns an array of AAMVADocumentSubfile.
    • Removed type literal TRAVEL_DOCUMENT from MRZDocumentType.
    • Type literals for types CapturePhotoQualityPrioritization, LicensePlateScanStrategy, MSIPlesseyChecksumAlgorithm, GenericDocumentType and FieldDisplayState have been modified.
    • Type FinderAspectRatio is renamed to AspectRatio.
    • Type InitializationOptions is renamed to ScanbotSdkConfiguration.
    • Type CameraImageFormat is renamed to StorageImageFormat.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK and Scanbot iOS SDK to v4.2.0
    • Added "libharu" library to dependencies.
    • Android: Blackview and Caterpillar brands are now excluded from GpuAcceleration-supported devices.
    • Android: Removed "Android PDF Writer" library from dependencies.
    • Android: Upgraded OpenCV version to 4.8
    • Android: Added "icu4c" library to dependencies.
    • Android: Updated version of Nameof C++ library to v0.10.3
    • Android: Disabled GPU acceleration for Redmi 9 models, Samsung Galaxy Grand Prime and devices with Android older than 6.

Version 2.2.4 (2 Jan 2024)

  • 🎉 New:
    • Added new functions: extractImagesFromPdf and extractPagesFromPdf.
  • 🐞 Bug fixes:
    • Fixed getOCRConfigs function.
    • Android: Fixed wrong default value for storageImageQuality input parameter when calling initializeSDK.

Version 2.2.3 (31 Oct 2023)

  • 🐞 Bug fixes:
    • Fixed scanners not resolving promises on user manual cancel.
    • Fixed SDK function: performOCR.
    • Fixed options being ignored when calling SDK function: writeTiff.
    • Fixed parsing of custom storage path for file URIs on iOS .
  • 🚀 Improvements:
    • Android: Reduced APK size by removing io.scanbot:sdk-ml-imageprocessor-assets dependency.
  • ⚠️ Breaking changes:
    • IMPORTANT: From now on, Android Camera Permission will not be added automatically when installing the Scanbot SDK Capacitor Plugin. Please include <uses-permission android:name="android.permission.CAMERA"/> in your app AndroidManifest.xml if you are using any of our camera functionalities.
    • Removed ImageFilterTypeSensitiveBinarization Image Filter Type.
    • Deprecated InitializationOptions. Please use ScanbotSdkConfiguration instead.
  • 🚙 Under the hood:
    • Prevented potential crashes by improving null safety.

Version 2.2.2 (5 Oct 2023)

  • 🐞 Bug fixes:
    • Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
    • Fixed the cleanup SDK function.
    • Fixed the estimateBlur SDK function on iOS.
    • Fixed an issue during which applyImageFilterOnPage would fail for some specific image file URIs.
  • 🚀 Improvements:
    • The SDK function getLicenseInfo can now also be called even when the SDK initialization has failed.
  • ⚠️ Breaking changes:
    • The SDK functions getStoredPageIds, getPageImageUris, and getPageById have been deprecated.

Version 2.2.1 (28 Sep 2023)

  • 🎉 New:
    • Introduced Finder Document Scanner! It allows you to scan a single document page with the help of a viewfinder, bound to a certain aspect ratio.
    • Added iOS-only parameters topBarTitle and topBarTitleColor in CroppingConfiguration.
  • 🚀 Improvements:
    • Various minor improvements and fixes for page results
    • Android Scanbot SDK Maven Repositories are now added automatically to the consuming app
    • Reduced Android minSdkVersion from 24 to 22
    • Exported BaseSdkResult TypeScript type
  • ⚠️ Breaking changes:
    • Refactored ImageFilter to ImageFilterType. The enum values have changed - please check the new accepted values in the ImageFilterType type definition

Version 2.2.0 (10 Aug 2023)

  • 🎉 First release of the capacitor-plugin-scanbot-sdk Capacitor Scanbot Document Scanner SDK!
  • Provides Ready-To-Use UI Components - a set of easy to integrate and customize high-level Capacitor components for the most common tasks in Scanbot SDK:
    • Document Scanner
    • Cropping UI & Image Filters
    • Barcode & QR code Scanner
    • MRZ Scanner
    • Generic Document Recognizer
    • EHIC Scanner
    • Check Recognizer
    • License Plate Scanner
  • Provides additional SDK features based on image picked from the device photos application:
    • Detect Barcodes on Image
    • Detect Document on Image
    • PDF and TIFF Operations
    • AES128 and AES256 Encryption
  • New unified Scanbot SDK API:
    • Idiomatic asynchronous design
    • Capacitor-based unified API for Android & iOS
  • Example App demonstrating the new functionalities: Capacitor Angular Example App
  • Uses our Native Scanbot Document Scanner SDKs under the hood:

Want to scan longer than one minute?

Generate a free trial license to test the Scanbot SDK thoroughly.

Get your free Trial License

What do you think of this documentation?