Changelog | React Native Document Scanner
tip
For additional details about the API, please refer to our API reference documentation.
Version 5.1.1 (13 Sep 2024):β
- π New:
- Expo config plugin is now available for Expo projects. Learn more about it here.
- π Improvements:
- ScanbotBarcodeCameraView: Improved attachment and detachment of the barcode scanner.
- π Bug fixes:
- iOS: Fixed a crash when using React Native versions below 0.72.
Version 5.1.0 (26 Aug 2024):β
- π New:
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Import
startBarcodeScanner
fromreact-native-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 typeBarcodeFormat
. - Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- Added support for Canadian and UAE Check standards.
UAE
andCAN
literals added to typeCheckStandard
. - Added support for German residence permits (2011 and 2019 formats) in GenericDocumentRecognizer.
DE_RESIDENCE_PERMIT_FRONT
andDE_RESIDENCE_PERMIT_BACK
literals added to typeGenericDocumentType
. 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 typeCheckStatus
. - Added new type
DocumentQualityAnalyzerArguments
to better describe the input parameters for documentQualityAnalyzer. - Added new type
HealthInsuranceCardFieldType
to better describe the type property inHealthInsuranceCardField
. - Added new types
OCRBoundingBox
,OCRResultBlock
andOCRPage
to better describePerformOCRResult
. - Added new property
detectionStatus
of typeHealthInsuranceCardDetectionStatus
inHealthInsuranceCardScannerResult
. - Added new property
acceptedBrightnessThreshold
inDocumentScannerConfiguration
,FinderDocumentScannerConfiguration
. - Added new property
textDataValueFilter
inTextDataScannerConfiguration
. - Added new property
userDefinedFields
of typeTIFFUserDefinedField[]
inWriteTIFFArgument
. - Added new property
minimumNumberOfSymbols
inDocumentQualityAnalyzerArguments
. - Added new properties
pageFitMode
,dpi
,jpegQuality
,resample
andocrConfiguration
inCreatePDFArguments
. - Added new properties
engineMode
,lowPowerMode
,codeDensity
inDetectBarcodesOnImageArguments
. - Added new property
parametricFilters
inPage
. - Added new literals
OK_OFF_CENTER
andOK_BARCODE
to typeDetectionStatus
. - Added new
applyImageFilters
andapplyImageFiltersOnPage
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.
- ScanbotBarcodeCameraView:
- Added new property
cameraZoomRange
which sets the range of valid camera zoom factors. - Added new property
cameraModule
which sets the camera device being used for scanning. - Added new property
minFocusDistanceLock
which locks focus distance within minimum possible range. - Added new property
lowPowerMode
which regulates energy consumption. - Added new property
barcodesExtensionFilter
which sets the extension filter for EAN and UPC barcodes. - Added new property
finderInset
which sets the minimum space from view finders outer edges to the view edges. - Added new property
codeDensity
which sets expected density of QR codes. - Added new methods
freezeCamera
andunfreezeCamera
which control the camera preview. - Added new config
selectionOverlayConfig
which configures the selection overlay.
- Added new property
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Import
- π 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. - ScanbotBarcodeCameraView:
- Improved overall performance and reliability.
- Improved consistency between the behaviors on Android and iOS.
- Added support for the new React Native Fabric renderer.
- π 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:
- React Native SDK 0.68 is the minimum supported version.
- Android: Important: Previously in order to use the plugin, manual linking was needed in android project (android/settings.gradle). There is no need for that anymore. Linking is done automatically, but you need to remove the manual linking, otherwise the plugin won't work starting from v5.1.0.
- 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
fromCheckStatus
. All failed check recognitions are now being rejected. - Removed literals
CCITTFAX3
andCCITTFAX4
fromTIFFCompression
. UseCCITT_T4
andCCITT_T6
respectively. - Replaced
GenericDocumentWrapper
with the improvedGenericDocument
. - Changed
formattedResult
type to aGenericDocument
inBarcodeResultField
. 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 aGenericDocument
inCheckRecognizerResult
. 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 aGenericDocument
inRecognizeMRZResult
. Removed the previous mrz document interface (MRZDocument) and replaced it with the improved and more capable wrapper class (MRZDocument). - Changed
documents
type to aGenericDocument[]
inGenericDocumentRecognizerResult
. 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 toCheckDocumentModelRootType
in recognizeCheck. - Replaced literals
RSS_14
andRSS_EXPANDED
withDATABAR
andDATABAR_EXPANDED
inBarcodeFormat
. - Replaced property
oneBitEncoded
withbinarizationFilter
inWriteTIFFArguments
. - Renamed property
pageOrientation
topageDirection
inCreatePDFArguments
. - Renamed type
MRZDocumentType
toMRZDocumentTypes
,PDFPageSize
toPageSize
,PDFPageOrientation
toPageDirection
. - 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
inCroppingResult
documentImageFileUri
andpolygon
inDetectDocumentResult
result
inTextDataScannerResult
- all properties of
LicensePlateScannerResult
- all properties of
VinScannerResult
- Reworked performOCR parameters and result. See
PerformOCRResult
andPerformOCRArguments
. - 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.
- ScanbotBarcodeCameraView:
- Decoupled all the properties from configuration prop and subdivided by configurations.
- Child views are no longer added natively. There is a dedicated container that holds views.
- onBarcodeScannerResult now returns
BarcodeScannerResult
instead ofScanbotBarcodeCameraViewResult
. - Renamed property
shouldUseFinderView
toviewFinderEnabled.
- Renamed property
finderAspectRatio
torequiredAspectRatio
. - renamed property
finderMinimumPadding
tominPadding
. - Removed property
finderBackgroundColor
andfinderBackgroundOpacity
in favor ofoverlayColor
.overlayColor
accepts ColorValue through which opacity can be set. - Removed property
finderVerticalOffset
. - Removed property
requestComponentReload
.
- π 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.
- ScanbotBarcodeCameraView:
- Android: Replaced the native component ScanbotCameraView with the new and improved ScanbotCameraScannerView.
Version 4.16.0 (19 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
andGS1_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
forCameraModule
(iOS only). - Added a type literal,
CREW_MEMBER_CERTIFICATE
forMRZDocumentType
. - Added new types:
FinderDocumentScannerResult
that describes the result ofstartFinderDocumentScanner
.BarcodeScannerResult
that describes the result ofstartBarcodeScanner
.BatchBarcodeScannerResult
that describes the result ofstartBatchBarcodeScanner
.TextDataRecognitionResult
that describes the result ofTextDataScannerResult
.HealthInsuranceCardField
that describes the fields of theHealthInsuranceCardScannerResult
.MedicalCertificateDatesInfo
,MedicalCertificateCheckboxesInfo
,MedicalCertificatePatientDataInfo
andMedicalCertificatePatientDataInfoField
to better describeMedicalCertificateRecognizerResult
.PerformOCRArguments
to better describe the arguments forperformOcr
function.CreatePDFArguments
to better describe the arguments forcreatePDFResult
function.WriteTIFFArguments
to better describe the arguments forwriteTIFF
function.
- Added new properties in the following configurations:
DocumentScannerConfiguration
-flashButtonHidden
,flashButtonTitle
,touchToFocusEnabled
andpreferredAspectRatios
.FinderDocumentScannerConfiguration
-flashButtonHidden
andtouchToFocusEnabled
.CroppingConfiguration
-topBarTitle
andtopBarTitleColor
.BarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
-barcodesExtensionFilter
,flashButtonHidden
,flashButtonTitle
,touchToFocusEnabled
,viewFinderEnabled
,barcodeValueFilter
andconfirmationDialogConfiguration
.MrzScannerConfiguration
,HealthInsuranceCardScannerConfiguration
,TextDataScannerConfiguration
,LicensePlateScannerConfiguration
,MedicalCertificateRecognizerConfiguration
,CheckRecognizerConfiguration
andGenericDocumentRecognizerConfiguration
-flashButtonHidden
,flashButtonTitle
andtouchToFocusEnabled
.
- Added support for inverted PDF-417 barcodes.
- MRZ support for td1 long document standard.
- Android: Added a new implementation of
extractImagesFromPdf
andextractPagesFromPdf
. - iOS: Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK.
- π Improvements:
- Improved accuracy and detection speed of
QR_CODE
,CODE_39
, andCODE_93
barcode types. - Improved the speed of barcode recognition for most barcode symbologies.
- Improved contour lines detection with ML Based detection.
- 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.
- Improved accuracy and detection speed of
- π 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 returned
CODE_25
results whenINDUSTRIAL_2_OF_5
was enabled andCODE_25
was disabled. Now, we do not return theCODE_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
andCODABAR
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
andpolygonAutoSnapProgressEnabled
methods inFinderDocumentScannerConfiguration
andDocumentScannerConfiguration
respectively. - Android: Fixed
textDataScannerStep
not applying inTextDataScannerConfiguration
. - Android: Fixed behavior of
ocrResolutionLimit
inTextDataScannerConfiguration
. - Android: Corrected mapping of
userGuidanceStrings
inCheckRecognizerConfiguration
. - Android: Fixed
enableCameraButtonTitle
andenableCameraExplanationText
parameters onBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
. - 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 inBarcodeScannerConfiguration
. - iOS: Fixed a bug where
flashEnabled
was not working properly inHealthInsuranceCardScannerConfiguration
. - iOS: Fixed a bug where
ocrResolutionLimit
was not being used inTextDataScannerConfiguration
. - 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 inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
. - iOS: Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
- iOS: Fixed rare cases where RTU UI screens were not shown and the application froze.
- β οΈ 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 inResultWrapper
interface and extracted from all resulting interfaces.- All file outputs are now represented as encoded URI strings.
ImageFilterType
type literals were changed. Replace the type literals in order to useapplyImageFilter
,applyImageFilterOnPage
,getFilteredDocumentPreviewUri
and allPage
functionalities.- MRZ Scanner and
recognizeMRZ
result breaking changes: field property in the result was removed and replaced withmrz
of typeMRZDocument
. All types associated with fields property have been removed. - Check Recognizer and
recognizeCheck
result breaking changes: field property in the result was removed and replaced withcheck
of typeCheckDocument
. All types associated with fields property have been removed. GenericDocumentRecognizer
result breaking changes: result was restructured to return an array containing the typesMRZDocument
,DeIdCardFrontDocument
,DeIdCardBackDocument
,DePassportDocument
,DeDriverLicenseFrontDocument
orDeDriverLicenseBackDocument
. Previous types and properties have been removed.- The
estimateBlur
functionality has been removed and replaced by the far superiordocumentQualityAnalyzer
. recognizeCheck
argument was redefined to be an object that containsimageFileUri
andacceptedCheckStandards
.- The property
enableGS1Decoding
has been replaced by gs1HandlingMode inBarcodeScannerConfiguration
,BatchBarcodeScannerConfiguration
andScanbotBarcodeCameraViewConfiguration
. GS1 codes are now handled differently for various barcode types. Using the default optionPARSE
will give the same result as before for all barcode types, except ofRSS_EXPANDED
. Previously, forRSS_EXPANDED
, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, choose the optionDECODE
. - Property
supportedLanguages
has been removed fromHealthInsuranceCardScannerConfiguration
. - Property
barcodeImageGenerationType
has been removed fromBarcodeScannerConfiguration
. - Properties
rawText
andisValidationSuccessful
were removed fromLicensePlateScannerResult
. - Property
textFilterStrategy
has been removed fromTextDataScannerStep
. - Property
subfiles
inAAMVADocumentFormat
now returns an array ofAAMVADocumentSubfile
. - Removed type literal
TRAVEL_DOCUMENT
fromMRZDocumentType
. - Type literals for types
CapturePhotoQualityPrioritization
,LicensePlateScanStrategy
,MSIPlesseyChecksumAlgorithm
,GenericDocumentType
andFieldDisplayState
have been modified. - Type
FinderAspectRatio
was renamed toAspectRatio
. - Type
InitializationOptions
was renamed toScanbotSdkConfiguration
. - Type
CameraImageFormat
was renamed toStorageImageFormat
. - Removed JS Helpers:
JSTextFunction
,JSTextFunctionBuilder
,JSStringToBoolTextFunction
,JSStringToStringTextFunction
,JSStringToBoolTextFunctionBuilder
andJSStringToStringTextFunctionBuilder
.
- π Under the hood:
- Upgraded the native Scanbot Android SDK to v4.2.0
- Upgraded the native Scanbot iOS SDK to v4.2.2
- 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 4.15.5 (17 Nov 2023):β
- π Bug fixes:
- Android: fixed
storageImageQuality
parameter in InitializationOptions. - Fixed options being ignored when calling SDK functions:
writeTiff
,performOCR
. - Fixed parsing of custom storage path for file URIs on iOS
- Fixed
performOCR
for content file URIs
- Android: fixed
- β οΈ Breaking changes:
- Removed Sensitive Binarization Image Filter
Version 4.15.4 (29 Sep 2023):β
- π New:
- Introduced
FinderDocumentScanner
RTU UI (see startFinderDocumentScanner )
- Introduced
- π Bug fixes:
- iOS:
pageImageSource
added to page response - iOS: fixed property
documentImageSizeLimit
not being set properly - iOS: fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
- Android: added new enum values
PageImageSource.UNDEFINED
andPageImageSource.IMPORT
toPageImageSource
- Android: renamed
previewImageUri
tooriginalPreviewImageFileUri
- Android: fixed
documentImageSizeLimit
returning an empty string - Android: fixed
documentImageSizeLimit
cast error - Android:
filter
property from thePage
response now returns the correct value type ofImageFilterType
instead ofImageFilter
- Android: Min SDK was decreased back to 21
- iOS:
- β οΈ Breaking changes:
- Replaced
ImageFilter
withImageFilterType
.applyImageFilter
,applyImageFilterOnPage
andgetFilterDocumentPreviewUri
now useImageFilterType
type value as an argument.
- Replaced
Version 4.15.3 (29 Jun 2023):β
- π New:
- Introduced exported
GenericDocumentNormalizedFields
constant for easier configuration ofGenericDocumentRecognizer
- Introduced exported
- π Bug fixes:
- iOS: Fixed storage issues that would cause different SDK functions to fail when a custom storage directory was not specified
- Android: Fixed
licenseExpirationDate
missing fromgetLicenseInfo()
result
- π Improvements:
- iOS: Automatically removing minihash query parameter from URLs passed to SDK functions
- Android: Optimized
getImageData()
to return smaller Base64 strings Note:NO_WRAP
encoding format is now used - the string will not contain line breaks anymore
Version 4.15.2 (19 Jun 2023):β
- π Bug fixes:
- iOS: Fixed 'Unsupported Swift Architecture' error when targeting the simulator
- π Improvements:
- iOS: You can now start RTU components from modal components
Version 4.15.0 (14 Jun 2023):β
- π New:
- Introduced Generic Document Recognizer! It can be used to recognize various types of documents, including German ID cards, German passports, and German driver's licenses. See
startGenericDocumentRecognizer
- Added new supported Barcode types:
CODE_25
,IATA_2_OF_5
andINDUSTRIAL_2_OF_5
- Introduced Check Recognizer Ready-To-Use UI (
startCheckRecognizer
) andrecognizeCheckOnImage
API function - Introduced Barcode Document Formats! When scanning barcodes, if a supported document is recognized, it will be parsed and included in the result
- Introduced selection overlay for Barcode Scanner and Batch Barcode Scanner! See property
overlayConfiguration
inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
- Document Scanner:
- Added new properties in DocumentScannerConfiguration:
userGuidanceFontSize
textHintOffCenter
stopsCameraSessionWhenDisappeared
photoQualityPriorization
forceUserGuidance
detectorMode
defaultPageFilter
cancelButtonHidden
cameraUnavailableExplanationText
cameraPreviewMode
- Added new properties in DocumentScannerConfiguration:
- MRZ Scanner:
- Added
rawString
in MRZ Result, which contains the detected raw MRZ text - Added new properties in MrzScannerConfiguration:
cancelButtonHidden
finderAspectRatio
flashButtonHidden
topBarButtonsActiveColor
topBarButtonsInactiveColor
replaceCancelButtonWithIcon
cameraPreviewMode
autoCancelTimeout
- Added
- Barcode Scanner:
- Added new properties in BarcodeScannerConfiguration:
enableCameraButtonTitle
enableCameraExplanationText
flashButtonHidden
focusLockEnabled
focusLockPosition
minFocusDistanceLock
replaceCancelButtonWithIcon
cameraPreviewMode
cameraZoomRange
autoCancelTimeout
codeDensity
barcodeImageGenerationType
initialScanDelay
delayAfterScan
doubleTapToZoomEnabled
pinchToZoomEnabled
shouldAnimateZooming
confirmationDialogConfiguration
overlayConfiguration
- Added new properties in BarcodeScannerConfiguration:
- Batch Barcode Scanner:
- Added new properties in BarcodeScannerConfiguration:
enableCameraButtonTitle
enableCameraExplanationText
flashButtonHidden
focusLockEnabled
focusLockPosition
minFocusDistanceLock
replaceCancelButtonWithIcon
cameraPreviewMode
cameraZoomRange
autoCancelTimeout
codeDensity
barcodeImageGenerationType
initialScanDelay
delayAfterScan
doubleTapToZoomEnabled
pinchToZoomEnabled
shouldAnimateZooming
confirmationDialogConfiguration
overlayConfiguration
- Added new properties in BarcodeScannerConfiguration:
- Health Insurance Card Scanner:
- Added new properties in HealthInsuranceCardScannerConfiguration:
enableCameraButtonTitle
enableCameraExplanationText
flashButtonHidden
topBarButtonsActiveColor
topBarButtonsInactiveColor
replaceCancelButtonWithIcon
cameraPreviewMode
- Added new properties in HealthInsuranceCardScannerConfiguration:
- Text Data Scanner:
- Added new properties in TextDataScannerConfiguration:
cancelButtonHidden
enableCameraExplanationText
flashButtonHidden
flashButtonTitle
orientationLockMode
topBarButtonsActiveColor
topBarButtonsInactiveColor
useButtonsAllCaps
replaceCancelButtonWithIcon
cameraPreviewMode
textDataScannerStep
- Now you can also specify a threshold used to pause the detection after significant movement occurred; use property
significantShakeDelay
insidetextDataScannerStep
in TextDataScannerConfiguration
- Added new properties in TextDataScannerConfiguration:
- License Plate Scanner:
- Added new properties in LicensePlateScannerConfiguration:
topBarButtonsActiveColor
confirmationDialogStyle
confirmationDialogConfirmButtonStyle
confirmationDialogRetryButtonStyle
enableCameraButtonTitle
enableCameraExplanationText
finderPreferredHeight
flashButtonHidden
flashButtonTitle
significantShakeDelay
replaceCancelButtonWithIcon
cameraPreviewMode
- Added new properties in LicensePlateScannerConfiguration:
- Medical Certificate Recognizer:
- Added new properties in MedicalCertificateScannerConfiguration:
cameraOverlayColor
finderLineColor
finderLineWidth
flashButtonHidden
flashButtonTitle
userGuidanceHidden
recognizePatientInfo
returnCroppedDocumentImage
errorDialogStyle
errorDialogTitle
errorDialogAccentColor
errorDialogMessage
errorDialogOkButton
errorDialogOkButtonFilled
errorDialogOkButtonFilledTextColor
errorDialogButtonStyle
showFinderOverlay
userGuidanceStrings
cameraPreviewMode
finderAspectRatio
finderSecondaryAspectRatio
- Added new properties in MedicalCertificateScannerConfiguration:
- Introduced Generic Document Recognizer! It can be used to recognize various types of documents, including German ID cards, German passports, and German driver's licenses. See
- β οΈ Breaking changes:
- TypeScript: all the SDK types are now directly exported from
react-native-scanbot-sdk
; it is no longer required to use subpaths (ex.react-native-scanbot-sdk/src/enum
) to import interfaces, types and enums in your code - IMPORTANT: Removed jniLibs from the plugin; when migrating from a previous version, you should remove the jniLibs folder from your Android project, along with the pickFirst packaging option in your app build.gradle
- Removed ID Card Scanner. You should now use our Generic Document Recognizer (see
startGenericDocumentRecognizer
) to recognize German ID Cards, passports and driving licenses. You can still choose to detect ID Cards only, by settingacceptedDocumentTypes
in GenericDocumentRecognizer to['DeIdCardFront', 'DeIdCardBack']
. What used to beIdCardScannerResult
will be contained in thefields
property ofGenericDocumentRecognizerResult
when you explicitly cast it toDeIdCardResult
like this:let idCardResult = result.fields as DeIdCardResult
; the result is slightly different:- Fields
pin
,pseudonym
andmaidenName
were removed; - Field
mrz
has been renamed torawMrz
- Fields
- Removed NFC Passport Reader
- Replaced
interfaceOrientation
(ALL, PORTRAIT, LANDSCAPE) withorientationLockMode
(NONE, PORTRAIT, LANDSCAPE) in all RTU Configurations; if you were usingALL
you can replace it withNONE
. - MRZ Scanner:
- Removed
finderHeight
andfinderWidth
from MrzScannerConfiguration; from now on, use the new propertyfinderAspectRatio
- Removed
topBarButtonsColor
from MrzScannerConfiguration and addedtopBarButtonsActiveColor
andtopBarButtonsInactiveColor
; now you can set the color for each state in which the buttons might be in
- Removed
- Batch Barcode Scanner:
- Removed unused property
recognitionEnabled
fromBatchBarcodeScannerConfiguration
- Removed unused property
- Health Insurance Card Scanner:
- Removed property
validationType
fromHealthInsuranceCardScannerConfiguration
- Removed properties
flashButtonInactiveColor
andtopBarButtonsColor
fromHealthInsuranceCardScannerConfiguration
and addedtopBarButtonsActiveColor
andtopBarButtonsInactiveColor
; now you can set the color for each state in which the buttons might be in - Removed unused property
recognitionEnabled
fromHealthInsuranceCardScannerConfiguration
- Removed property
- Text Data Scanner:
- The following properties are now inside the new property
textDataScannerStep
(of type TextDataScannerStep) in TextDataScannerConfiguration:guidanceText
pattern
shouldMatchSubstring
preferredZoom
aspectRatio
unzoomedFinderHeight
allowedSymbols
textFilterStrategy
- Removed properties from TextDataScannerConfiguration:
flashButtonInactiveColor
recognitionEnabled
title
topBarButtonsColor
- addedtopBarButtonsActiveColor
andtopBarButtonsInactiveColor
; now you can set the color for each state in which the buttons might be invalidationBlock
stringSanitizerBlock
- The following properties are now inside the new property
- License Plate Scanner:
- Renamed
detectorMode
in LicensePlateScannerConfiguration toscanStrategy
- Renamed
topBarButtonsColor
totopBarButtonsActiveColor
in LicensePlateScannerConfiguration
- Renamed
- Medical Certificate Recognizer:
startMedicalCertificateScanner
has been renamed tostartMedicalCertificateRecognizer
MedicalCertificateScannerConfiguration
has been renamed toMedicalCertificateRecognizerConfiguration
MedicalCertificateScannerResult
has been renamed toMedicalCertificateRecognizerResult
- Removed "data" field of type
MedicalCertificateScannerResultData
from the result inMedicalCertificateScannerResult
; its fields are now at top-level - Removed unused field
validationConfidence
from the result date fields inMedicalCertificateScannerResult
- Removed properties from configuration:
extractPatientInfo
(renamed torecognizePatientInfo
)guidanceText
(useuserGuidanceStrings
instead)errorDialogText
(useerrorDialogMessage
; also see new error dialog properties)
- TypeScript: all the SDK types are now directly exported from
- π Improvements:
- Improved crops and contours for detected barcodes
- Improved 1D barcode recognition
- Improved MRZ detection for US passports
- Improved recognition of inverted barcodes
- Improved performance and reduced false positive rate for stacked RSS barcodes
- Improved performance of DataMatrix and QR-codes
- Improved recognition of Medical Certificates
- Improved performance and accuracy of machine-readable-zone recognition
- The raw string is now returned for RSS Expanded barcodes that don't contain a GS1 string
- Patient info box recognition has been improved in the medical certificate scanners
- Various memory allocation improvements
- iOS: Various performance improvements for BarcodeCameraView
- π Bug fixes:
- Fixed a crash when applying a filter to single channel images
- Fixed issues with MRZ on Mexican and US passports
- Fixed
finderVerticalOffset
wrong direction in ScanbotBarcodeCameraView configuration - iOS: Fixed
stripCheckDigits
not being applied for ScanbotBarcodeCameraView component - iOS: Fixed a bug that caused the document scanner to auto-capture a second image shortly after the first image
- iOS: Fixed a rare crash on the detection of Health Insurance cards
- iOS: Fixed a potential crash when the app using ScanbotSDK is suspended by the operating system
- iOS: Fixed a potential crash during the SDK initialization when the app name contains spaces
- iOS: Fix component configuration being ignored on start of BarcodeCameraView
- iOS: Medical certificates of type 1C are no longer recognized as 1A
- iOS: Fixed visibility of the shutter button in Document Scanner when camera access is denied
- iOS: Fixed a bug where the MRZ recognition would produce inaccurate results
- iOS: Fixed a bug where UPC/EAN extensions were not recognized
- Android: Fixed Scanbot RTU-UI scanners handling when the app is terminated in the background
- Android: Fixed a crash on specific PDF-417 codes with boarding passes
- Android: Fixed an incorrect mapping of guidance strings for Medical Certificate Recognizer
- Android: Fixed snapped page filtering in Document Scanner RTU UI screen
- Android: Fixed a bug with RTU Barcode scanner not being able to produce the barcode image when a barcode filter is set
- Android: Fixed crashes on devices running Android 5 and 6 in some scenarios
- π Under the hood:
Version 4.14.0 (3 Mar 2023):β
- π Improvements:
- Internal refactoring and improvements
- π Bug fixes:
- Fixed conflicts in
ScanbotBarcodeCameraView
caused by usage of deprecated dimensions listener in RN 0.70+ - Android: Fixed
ScanbotBarcodeCameraView
not recognizing barcodes after navigating back from another screen - Android: Fixed
interfaceOrientation
not working for valueALL
- Android: Fixed configuration properties being ignored under some conditions
- Android: Fixed issues when
engineMode
is not set inScanbotBarcodeCameraView
- Fixed conflicts in
- π Under the hood:
- Upgraded the native Scanbot Android SDK to v1.93.1.665 which contains a special hotfix for the back navigation problem in
ScanbotBarcodeCameraView
- Upgraded the native Scanbot Android SDK to v1.93.1.665 which contains a special hotfix for the back navigation problem in
Version 4.13.1 (22 Jun 2022):β
- π Improvements:
- Updated README
Version 4.13.0 (25 May 2022):β
- π New:
- New checkbox types are now supported for Medical certificates:
requiresCareNo
,accidentNo
,otherAccident
. See Medical Certificate Scanner - Added
extractPatientInfo
inMedicalCertificateScannerConfiguration
which allows deciding whether the information of the patient is extracted or not. See MedicalCertificateScannerConfiguration - Added
cancelButtonHidden
inMedicalCertificateScannerConfiguration
which allows hiding the cancel button. iOS only. See MedicalCertificateScannerConfiguration - Added
guidanceText
inMedicalCertificateScannerConfiguration
which allows configuring the guidance texts. See MedicalCertificateScannerConfiguration - Added
errorDialogText
inMedicalCertificateScannerConfiguration
which allows configuring the error alert texts. See MedicalCertificateScannerConfiguration - Removed unused configuration parameters in
MedicalCertificateScannerConfiguration
. See MedicalCertificateScannerConfiguration - Added
topAndBottomButtonsSwapped
inCroppingScreenConfiguration
to invert the top and bottom buttons' position. See CroppingScreenConfiguration
- New checkbox types are now supported for Medical certificates:
- π Improvements:
- Huge improvement on the speed and accuracy of 1D barcodes recognition.
- Native libraries size decreased by more than 20%
- iOS: Improved barcode image cropping.
- π Bug fixes:
- Android: Fixed GPU acceleration issues with the Samsung S22 series devices.
- Android: Fixed camera flash state for the document scanner after picture is taken in multi-page mode.
- Android: Fixed cropped images of 1D barcodes.
- iOS: Fixed a bug with the view finder rectangle not being calculated correctly in landscape mode in Barcode Scanner.
- The configuration
topBarButtonsActiveColor
inMedicalCertificateScannerConfiguration
was not working on both iOS and Android. - The configuration
topBarButtonsInactiveColor
inMedicalCertificateScannerConfiguration
was not working on iOS.
- β οΈ Breaking changes:
capturedPage
property is removed fromMedicalCertificateScannerResultData
andimageFileUri
property is introduced as a replacement forcapturedPage
inMedicalCertificateScannerResultData
- π Under the hood:
Version 4.12.0 (06 Apr 2022):β
- π Improvements:
- Improved Machine Readable Zone recognizer
- Improved ID card recognizer
- Improved Aztec barcode recognition
- Android: Improved the UX of the Document Scanner; now the pausing of the preview is done only after the image is captured. Previously it could result in blurry images.
- π Bug fixes:
- Android: By default, GPU acceleration has been disabled (due to issues on the Samsung S22 series devices). To enable it, set
allowGpuAcceleration
totrue
when you initialize the SDK; see InitializationOptions - iOS: Fixed ScanbotSDK being embedded twice under certain configurations, causing the build to fail
- iOS: Fixed a bug with simulators not capturing the demo image when the shutter button is pressed
- iOS: Fixed a bug in
SBSDKPDFPagesExtractor
with transformed PDF pages - iOS: Fixed an issue with view finder colors and line width not being applied in RTU-UI components
- Android: By default, GPU acceleration has been disabled (due to issues on the Samsung S22 series devices). To enable it, set
- β οΈ Breaking changes:
- IMPORTANT (iOS): Changed SDK internal podspec definition; a full clean by removing
node_modules
,package-lock.json
, clearing npm cache, removingPods
andPodfile.lock
, and reinstalling everything again withnpm install
andpod install --repo-update
might be needed in case the iOS build fails. If you still encounter issues on the iOS build, check out our updated Getting Started - iOS Setup section
- IMPORTANT (iOS): Changed SDK internal podspec definition; a full clean by removing
- π Under the hood:
Version 4.11.3 (13 Jan 2022):β
- π Bug fixes:
- Fixed the
interfaceOrientation
configuration inCroppingScreenConfiguration
which could have caused an exception on Android
- Fixed the
Version 4.11.2 (12 Jan 2022):β
- π Bug fixes:
- Re-added missing
flashButtonHidden
configuration parameter intoDocumentScannerConfiguration
. See startDocumentScanner
- Re-added missing
Version 4.11.1 (12 Jan 2022):β
- π New:
- Added new configuration parameter
flashButtonInactiveColor
intoHealthInsuranceCardScannerConfiguration
which allows choosing the foreground color of the flash button when the flash is off (iOS only) EHIC Scanner - Added new configuration parameter
allowXnnpackAcceleration
intoInitializationOptions
, which allows controlling whether the XNN pack optimizations should be used (Android only) SDK Initialization - Added new configuration parameter
enableNativeLogging
intoInitializationOptions
, which enables Scanbot SDK Core native logging (default is false; Android only) SDK Initialization
- Added new configuration parameter
- π Improvements:
- Improved PDF417 recognition performance on single photos (iOS)
- Improved barcode detection on large documents (iOS)
- Updated flash buttons' icons (iOS)
- Improved GS-1 databar recognition in the next-gen barcode scanner (iOS)
- Improved robustness and performance of the MRZ scanner (Android)
- Improved recognition of small barcodes on large images (Android)
- Improved recognition of stacked RSS Expanded (GS1) barcodes (Android)
- Improved rectangular DataMatrix performance (Android)
- Increased performance on stable images with PDF-417 barcodes (Android)
- π Bug fixes:
- Fixed a problem with an inaccurate finder in Health Insurance Card Scanner and MRZ Scanner (iOS)
- Fixed a crash in the barcode detector with Legacy engine mode on still images (Android)
- β οΈ Breaking changes:
- IMPORTANT: Removed
bottomButtonsActiveColor
andbottomButtonsInactiveColor
fromHealthInsuranceCardScannerConfiguration
- IMPORTANT: Removed
- π Under the hood:
Version 4.11.0 (14 Dec 2021):β
- π New:
- Introduced Medical Certificate Scanner RTU-UI! You can use it to scan German medical certificates. See startMedicalCertificateScanner.
- Introduced
cameraModule
in RTU-UI components! You can set it toFRONT
if you want to use the front camera in the RTU-UI component.
- π Improvements:
- Barcode Camera View now supports
stripCheckDigits
- Android:
initializeSdk
now throws an error when the SDK initialization fails (eg. invalid license)
- Barcode Camera View now supports
- π Bug fixes:
- Fixed
licenseExpirationDate
wrong timestamp ingetLicenseInfo
Android result - Fixed
gs1DecodingEnabled
being ignored in RTU-UI components - Fixed
allowedInterfaceOrientations
ambiguous behavior in RTU-UI configurations - Fixed
getLicenseInfo
not being callable when using an invalid license
- Fixed
- β οΈ Breaking changes:
- IMPORTANT: Removed
allowedInterfaceOrientations
andorientationLockMode
from all RTU-UI configurations. UseinterfaceOrientation
instead (PORTRAIT
,LANDSCAPE
orALL
)
- IMPORTANT: Removed
- π Under the hood:
Version 4.10.1 (8 Nov 2021):β
- π New:
- Introduced
forceClose
function in RTU-UI components! You can use it to programmatically close the components.
- Introduced
- π Improvements:
- Improved flexibility, speed, and accuracy of the EHIC Scanner (European Health Insurance Cards)
- Android: You can enable CameraX under the hood on Android. See
useCameraX
in InitializationOptions - Android: GPU Acceleration will be used for Barcode Scanner, Document Scanner and Generic Document Recognizer. You can disable it by setting
allowGpuAcceleration
tofalse
; see InitializationOptions
- π Bug fixes:
- Android: FixedΒ
msiPlesseyChecksumAlgorithm
,ΒstripCheckDigits
Β andΒcameraZoomFactor
being ignored inBatchBarcodeScannerConfiguration
- Android: FixedΒ
- β οΈ Breaking changes:
submitButtonTitle
inIdCardScannerConfiguration
has been renamed toviewResultsButtonTitle
- The ID Card Scanner result is now wrapped in
idCard
object. See startIdCardScanner.
- π Under the hood:
Version 4.10.0 (21 Sep 2021):β
- π New:
- Introduced
BarcodeCameraView
native component! From now on you can use it to embed our camera view directly into your react layouts! See BarcodeCameraView - New functionalities to extract images and pages from PDF files! See the new API functions extractImagesFromPdf and extractPagesFromPdf
- Added new parameter
cameraZoomFactor
in Barcode Scanner RTU-UI, to set the initial camera zoom level. See startBarcodeScanner. - Added new parameter
pageImageSource
in Page objects, see Pages - Added new parameter
anchorPointsColor
in Cropping Screen RTU-UI. See startCroppingScreen - Introduced new parameter
stripCheckDigits
for Barcode Detection. See startBarcodeScanner, startBatchBarcodeScanner, detectBarcodesOnImage and detectBarcodesOnImages - Added
acceptedDocumentFormats
parameter in Batch Barcode Scanner RTU-UI. See startBatchBarcodeScanner
- Introduced
- π Improvements:
- Improved recognition of UPC/EAN barcodes due to ink spread
- Android: Improved recognition of the front side of ID cards by GenericDocumentRecognizer
- π Bug fixes:
- Android: Fixed a bug with the EHIC recognizer that caused some UTF8 characters to be ignored upon recognition
- β οΈ Breaking changes:
- Android: Updated compile and target SDK of the library to 30
- π Under the hood:
Version 4.9.0 (9 Aug 2021):β
- π New:
- Brand new βNext Generationβ machine-learning-based barcode scanning engine with improved reliability and much faster performance!
- API changes for the new barcode engine: added engineMode property of type EngineMode on barcode scanning APIs -
BarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
to switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used. - Text Data Scanner: a new RTU-UI component that allows you to perform OCR using our Data Scanner Camera API. See the new API function startTextDataScanner).
- π Bug fixes:
- Document Scanner (Android): fixed a bug that sometimes caused pictures to have the wrong orientation after they were imported
- Fixed various UI related issues
- π Under the hood:
Version 4.8.0 (25 Jun 2021):β
- π New:
MSI Plessey
barcode recognition
- π Improvements:
- Droid: Exposed native dependencies to allow custom native implementations
- π Under the hood:
Version 4.7.0 (14 Apr 2021):β
- π New:
- A new scanner UI component for Vehicle License Plates! See the new API function startLicensePlateScanner
- Added detectBarcodesOnImages for multiple images barcode detection.
- Added support for TIFF files encryption
- Document Type filters for Barcode and ID Card Scanner. See startIdCardScanner, startBarcodeScanner, detectBarcodesOnImage and startBatchBarcodeScanner.
- Accessibility configuration for Document Scanner and Cropping Screen
- π Improvements:
- Introduced minimumTextLength, maximumTextLength, minimum1DBarcodesQuietZone for ITF Barcodes on startBarcodeScanner, detectBarcodesOnImage and startBatchBarcodeScanner.
- Added Document Scanner polygonCornerRadius parameter and auto-snapping UI customization. See startDocumentScanner
- Added new ID Card Scanner parameter 'sharpnessAcceptanceFactor'. See startIdCardScanner
- β οΈ Breaking Changes:
- Removed flashImageButtonHidden from DocumentScanner configuration; use flashButtonHidden instead. See startDocumentScanner
- π Under the hood:
Version 4.6.0 (15 Feb 2021):β
- π New:
- Added NFC passport reader - a new UI component to read data from passport's NFC chip.
Version 4.5.0 (2 Feb 2021):β
- π New:
- Encryption of image and PDF files. For more details please check out the section "Storage Encryption".
- π Improvements:
- Improved support for advanced TypeScript compiler constraints
- β οΈ Breaking Changes:
- The structured OCR result data is now returned as a JSON data field
jsonData
instead of a JSON file (jsonFileUri
)
- The structured OCR result data is now returned as a JSON data field
- π Under the hood:
Version 4.4.0 (4 Dec 2020):β
- π New:
- Android: Added a new optional config property
useButtonsAllCaps: boolean
for all RTU UI screens to control whether the buttons should use the all-capitals-style, as defined by the Android Material Design
- Android: Added a new optional config property
- π Improvements:
- Improvements in the detection of barcodes, especially of the type PDF417. Better recognition of rotated and damaged PDF417 codes
- π Bug fixes:
- iOS: Introduced a new API method
refreshImageUris(pages)
to fix image file paths after app updates. For more details please check out the section Persistence of Page Objects. - iOS: Fixed an issue about Bitcode support when submitting an app to the App Store Connect (error "ITMS-90562: Invalid Bundle - Bitcode failed to compile")
- iOS: Introduced a new API method
- π Under the hood:
Version 4.3.0 (22 Oct 2020):β
- π New:
- Batch Barcode Scanner - a new UI component to scan multiple barcodes in a row. See the new API function startBatchBarcodeScanner.
- ID-Card Scanner - See the new API function startIdCardScanner.
- Blur Estimator - a new API method to detect blurriness on still images.
- New
CroppingScreenConfiguration
parameters:hintTitle
andhintTitleColor
- π Improvements:
- Android: Some big improvements in the Document Scanner UI that make document scanning perform better and much smoother. Increased start-up time of the camera preview. Faster saving of the snapped pages. Optimized performance of the image processing for simple operations (rotate, crop, resize).
- Android and iOS: Improved recognition of barcodes and QR-codes (live detection and from still images)
- β οΈ Breaking Changes:
- iOS: Dropped support for iOS 9 and iOS 10!
- π Under the hood:
Version 4.2.1 (28 Sep 2020)β
- π Bug fixes:
- Android: Fixed a crash during the initialization process on some devices with Android 5.1 and less
- π Under the hood:
- Upgraded the native Scanbot Android SDK to v1.72.3 (see the changelog)
Version 4.2.0 (5 Aug 2020)β
- π New:
- A new scanner UI component for the European Health Insurance Cards (EHIC)! See the new API function startEHICScanner
- Added support for TIFF compression types and for defining custom DPI value as TIFF meta data.
See the new options
compression
anddpi
of the writeTIFF() method.
- π Improvements:
- Improved shared asset copy script with proper error handling and different pathing options
- Android: Increased resolution of the preview images
- π Bug fixes:
- Android:
topBarBackgroundColor
now also affects the status bar in all UI components (Document Scanner UI, Cropping UI, etc)
- Android:
- π Under the hood:
Version 4.1.0 (20 Jul 2020)β
- π New:
- New and improved Barcode Scanner. Support for multiple barcode scanning.
- Introduced
getLicenseInfo()
API method to get more information about your license - Barcode detection on still (imported) images: detectBarcodesOnImage
- ML-Based document detection:
documentDetectorMode: 'ML_BASED'
- π Improvements:
- Added support for React Native 0.62. See the updated installation instructions for Android.
- π Bug fixes:
- Android: Fixed several crashes that occurred as of React Native 0.62 π‘
- iOS: Fixed multiple beep-boop sounds when scanning barcodes
- iOS: MRZ Scanner finder aspect ratio is now properly set
- β οΈ Breaking Changes:
- Removed
isLicenseValid()
API method. Please usegetLicenseInfo().isLicenseValid
instead. BarcodeResult
now contains an array of barcodes- Android:
minSdkVersion
increased to 21
- Removed
- π Under the hood:
Version 4.0.1 (13 Jan 2020)β
- π Improvements:
- Android & iOS: Enhanced TypeScript support
- π Bug fixes:
- Android: Fixed a rare case where the application crashed on startup
- iOS: Fixed issue where document detection status was empty
Version 4.0.0 (11 Nov 2019)β
This version requires React Native 0.60 or higher as well as CocoaPods integration for iOS.
π New:
- Added official support for React Native 0.60+ with the Autolinking feature.
- Android: Migrated to AndroidX libraries.
- iOS: Added default support for CocoaPods. See the updated installation instructions for iOS.
π Under the hood:
- Upgraded the native Scanbot Android SDK to v1.54.0 (see the changelog)
Version 3.1.0 (10 Oct 2019)β
π New:
- Android & iOS: Added a new Images Filter
LOW_LIGHT_BINARIZATION_2
.
- Android & iOS: Added a new Images Filter
π Bug fixes:
- Android: Fixed crashes with some image filters, like
BACKGROUND_CLEAN
,DEEP_BINARIZATION
,LOW_LIGHT_BINARIZATION
, etc. on ARM 32-bit devices (armeabi-v7
). - iOS: Fixed modal dialog style of the Document Scanner UI, Cropping UI, Barcode Scanner UI and MRZ Scanner UI on iOS 13. All UI screens are opened in full-screen mode again.
- Android: Fixed crashes with some image filters, like
π Under the hood:
Version 3.0.0 (26 Jul 2019)β
π New:
- Android & iOS: Reset/Detect functionality in Cropping UI.
- Android & iOS: Added support for
orientationLockMode
in Cropping UI. - Android & iOS: Support for PDF page sizes (see the createPdf method).
- Android & iOS: Added new Images Filters
OTSU_BINARIZATION
,DEEP_BINARIZATION
,EDGE_HIGHLIGHT
andLOW_LIGHT_BINARIZATION
. - Android & iOS: A new config option
storageBaseDirectory
allows to overwrite the storage location of the native Scanbot SDKs on initialization. - Android & iOS: Added new config properties in the Document Scanner UI:
documentImageSizeLimit
- to limit the resolution of the document image.maxNumberOfPages
- maximum number of pages to scan.shutterButtonHidden
- to hide the shutter button.textHintEnergySavingActive
- the text being displayed on the user-guidance label, when the scanners energy saver is activated (iOS only).
- Android: Added native libs (.so) for the
x86_64
architecture.
π Improvements:
- Android: Internal Storage - All components of this Module now use the internal storage by default, which is more secure and do not require storage permission prompts. See the Storage section of this documentation for more details.
- Android & iOS: OCR - Upgraded the OCR engine to Tesseract v4.00. Improved recognition speed and quality. Please also note the Breaking Changes below.
- Android & iOS: OCR API - Detailed OCR results per page, including bounding boxes for words, lines and paragraphs. See OcrOutputFormat.RESULT_JSON.
β οΈ Breaking Changes:
- Android: Added file format extension (
.jpg
or.png
) for allPage
images. Affects the new image files created by all modules like Document Scanner, Cropping UI, etc. Please note that only the new created image files will contain extensions. The currently available image files in the temporary storage of the Scanbot SDK RN Module will not get file extensions and may become inaccessible. So please make sure to implement a suitable migration mechanism. - Android: Internal Storage - In case your app is using
the storage for scanned
Page
s as permanent storage, please make sure to implement a suitable migration. E.g. move the previous archivedPage
images from the old external storage folder to the new internal storage. Or alternatively overwrite the storage directory to the external folder again by using the newstorageBaseDirectory
config option. - Android & iOS: The config parameter
pageCounterButtonTitle
in Document Scanner now requires a placeholder "%d" for the number of pages (e.g.pageCounterButtonTitle: "%d Page(s)"
). - Android & iOS: OCR Language Files - If you use the OCR feature of this Module, please upgrade the OCR language files to Tesseract 4.00. See the OCR section of this documentation for more details.
- Android: Added file format extension (
π Bug fixes:
- Android: Fixed an issue with camera on "Xiaomi Redmi 5 Plus" devices with MIUI Chinese ROM.
- Android: Fixed a bug with freezing camera on Document Scanner start.
- Android: Some layout fixes in Cropping UI (aka. inaccessible "DONE" button).
- Android: Fixed a bug with the Magnifier in Cropping UI (the Magnifier was stuck in a corner).
- iOS: Fixed issues with
orientationLockMode
in Document Scanner. - iOS: Fixed handling of
uiConfigs
arguments in Cropping UI (polygonColor
, etc). - iOS: Fixed a bug with missing
Page
meta data as result of thedetectDocumentOnPage
method. - iOS: Fixed handling of the config arguments
enableCameraButtonTitle
andenableCameraExplanationText
in Document Scanner UI, Barcode Scanner UI and MRZ Scanner UI. - iOS: Fixed the status of the torch light toggle button in the Document Scanner on reactivating the scanning screen.
- Android & iOS: Various minor fixes and improvements.
π Under the hood:
π Dependencies:
- Android: Requires Android SDK 28, Android Support Libs 28+ (
com.android.support:*
). - Android: The native Scanbot Android SDK now uses the latest version of Google
Play Services Vision lib v16.2.0 (
com.google.android.gms:play-services-vision:16.2.0
).
- Android: Requires Android SDK 28, Android Support Libs 28+ (
Version 2.0.7 (1 Jul 2019)β
- Android: Removed
minSdkVersion
fromAndroidManifest.xml
.
Version 2.0.6 (20 Dec 2018)β
- iOS: Fixed Cropping UI configuration.
Version 2.0.5 (28 Aug 2018)β
- Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.7:
- Fixed bitcode generation
Version 2.0.4 (28 Aug 2018)β
- Under the hood: Upgraded the native Scanbot Android SDK to v1.34.0
- Upgraded to OpenCV 3.4.2
- Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.6
Version 2.0.3 (1 Aug 2018)β
- New function
recognizeMrz(imageFileUri: string)
to recognize MRZ data on image file.
Version 2.0.2 (23 Jul 2018)β
- Android: Various bug fixes and improvements in methods
getFilteredDocumentPreviewUri()
andapplyImageFilterOnPage()
- Under the hood: Upgraded the native Scanbot Android SDK to v1.33.3
- Removed the
allowBackup
flag fromAndroidManifest.xml
inio.scanbot:sdk-package-ui
library
- Removed the
- iOS: Added the
?minihash=
query parameter in result ofgetFilteredDocumentPreviewUri()
- Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.4
- Fixed memory leaks in Document Scanner
Version 2.0.1 (16 Jul 2018)β
- iOS:
- Fixed a bug in PDF creation
- Fixed property mapping of text key
textHintOK
- Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.3
Version 2.0.0 (10 Jul 2018)β
- New Document Scanner UI and Cropping UI - based on the native Ready-To-Use UI Components of the Scanbot SDK for Android and iOS.
- Multi-page scanning in Document Scanner UI
- Barcode Scanner UI
- MRZ Scanner UI
- TIFF support: provides creation of 1-bit TIFF images with multi-page support
- New image filter types:
PURE_BINARIZED
- Creates an image with pixel values set to either pure black or pure white.BACKGROUND_CLEAN
- Cleans up the background and tries to preserve photos within the image.BLACK_AND_WHITE
- Black and white filter with background cleaning. Creates a grayscaled 8-bit image with mostly black or white pixels.
- New Scanbot SDK JS API:
- Promise-based design (compatible with async/await)
- Typings provide contextual help in JS IDEs
- Under the hood: Upgraded the native Scanbot Android SDK to v1.33.0
- Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.2:
- Dropped support for iOS 8
- Minor bug fixes and improvements
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get your free Trial LicenseWhat do you think of this documentation?
What can we do to improve it? Please be as detailed as you like.