Changelog for the Android Data Capture SDK
tip
For additional details about the API, please refer to our API reference documentation.
Version 8.0.1 (2 Feb 2026):β
- π Improvements:
- Document Scanner:
- Improved the behavior and animation coordinates of the document genie animation.
- Document Scanner:
- π Bug fixes:
- General:
- Fixed an issue with return being called within Result API extension functions.
- Fixed a possible error when an image ref is created from a 16-bit image.
- PDF Generator:
- Fixed a bug where invalid PDFs were generated from certain images.
- Document Data Extractor:
- Fixed a bug which prevented the recognition of mixed letters in the address field of some ID cards.
- Speed up verification of
DeResidencePermitFrontby using interpolation-verification for the "Remarks" field.
- Barcode Scanner:
- Fixed a bug in the Find & Pick mode where the completion dialog would not show automatically when enabled.
- General:
Version 8.0.0 (13 Jan 2026):β
- π New:
- General:
- The SDK now supports a new license key format, which does not contain special characters or line breaks.
- Added
ImageRefcreation fromandroidx.camera.core.ImageProxyfor a 2-3x speed increase. ImageRefconstructor now supports HEIC images.- Added the possibility for providing custom encryption for individual images from path load / image save operations.
- Added property
CameraLiveScannerResolutionto all the RTU-UI v2 screens to control the camera live scanning resolution. - Added setter
setLiveScannerResolution(scannerResolution: CameraLiveScannerResolution)to classic Scanbot Camera components to control the camera live scanning resolution.
- Document Scanner:
- Added the new
PartiallyVisibleDocumentConfigurationobject to determine how partially visible documents are aggregated and tracked. This feature is disabled by default. - Two new
DocumentDetectionStatusvalues have been introduced:ERROR_PARTIALLY_VISIBLEandERROR_PARTIALLY_VISIBLE_TOO_CLOSE. - The
DocumentDetectionResultnow includes adisplacementVectorand aDocumentDisplacementenum to indicate the direction towards the center of a partially visible document. - Added support for Document Quality Analyzer configuration to RTU-UI v2 Document Scanner.
- Added support for bottom bar visual modes, see
io.scanbot.sdk.ui_v2.common.BottomBarMode. - Added a new mode for bottom bar preview button, see
io.scanbot.sdk.ui_v2.document.configuration.TextWithBadgeButtonMode. - Added properties for original, document, and unfiltered images in
ImageRefformat toPageDocument API class.
- Added the new
- Image Processing:
- The color document filter now has parameters controlling contrast, color, and paper enhancement.
- TIFF Generator:
- Added
generateToFileFromImageRefs()andgenerateAsByteArrayFromImageRefs()methods withList<ImageRef>input forTiffGeneratorManager.
- Added
- Document Quality Analyzer:
- Added
cumulativeContrastHistogramandcumulativeTextSizeHistogramfor text contrast and size estimation inDocumentQualityAnalyzerResult. - Added the
orientationConfidenceproperty to the result object. - Added an option to explicitly enable/disable by tile processing via
ProcessByTileConfiguration.
- Added
- Text Pattern Scanner:
- Added the option
optimizeSingleLinetoTextPatternScannerConfiguration. Enable this option when scanning a single line or a single word that is hard to scan reliably. Disabled by default.
- Added the option
- Document Data Extractor:
- Added a metadata child document to all supported formats.
- Added
CountryCodevalues to all supported formats. - Introduced the
OK_BUT_INVALID_DOCUMENTreturn status. This is returned if a field's contents are confirmed but fail validation rules. - Introduced
PersonalIdcommon field type. - Added new
DocumentDataExtractionStatusenum value -OK_BUT_NOT_CONFIRMED. SeeDocumentDataExtractionStatus.
- Check Scanner:
- Support a wider range of USA check formats.
- Barcode Scanner:
- New supported document parser for British Columbia driver licenses PDF417 codes.
- Introduced a new algorithm for recognizing 1D symbologies, enhancing performance with blurred and distant barcodes. This feature is enabled by default but can be turned off using the
enableOneDBlurScannerproperty in barcode format configurations on low-power devices if necessary. - Added a new
BarcodeScannerEngineMode:NEXT_GEN_MAX_DISTANCE, which is optimized for scanning from far distances on very high-power devices with a 4K video stream. - All 1D barcode formats can be configured with a new
oneDConfirmationModewhich isTHOROUGHby default. Setting it toMINIMALorNONEcould lead to higher recall in difficult scenarios, but could also cause more false positives.
- General:
- π Improvements:
- General:
- All OCR-based features now benefit from new OCR models that are optimized for speed and accuracy.
- The "Created TensorFlow Lite XNNPACK delegate for CPU." log is no longer an output in production builds.
- If a global or custom encrypter is set when an image is created from a file, it will be automatically detected if the image is encrypted or not. Note that now
encryptionModeis NOT ignored if a custom encrypter/decrypter is used. - When creating an
ImageReffrom Android Bitmap or from a .png file containing an alpha channel, they are blended with a user specified canvas color instead of simply discarding the alpha channel. It is possible to select whether to use aWHITEorBLACKbackground inBasicImageLoadOptions,RawImageLoadOptions,PathImageLoadOptions, andBufferImageLoadOptions. - All configurations for scanners can now be set directly on scanner creation, e.g.
ScanbotSDK#createBarcodeScanner(configuration: BarcodeScannerConfiguration). - OCR engine, PDF, and TIFF generators no longer create
content URIscontent copies in the cache directory for processing. - Optimized memory usage of Scanbot Camera components.
- All methods in
io.scanbot.sdk.process.ImageProcessorare synchronized now. - Improved RTU UI components padding behavior for finder view and action bars.
- Document Scanner:
- Aspect ratio scores are now symmetrical, and low scores are more consistent.
- Fixed an issue with double compression for document images during rotation or filtering operations that significantly increased the size of the original and other
Pageimages. - The Document API now returns cached document objects. This means if you load a
Documentonce, it will remain in memory during the app session and be returned when loaded from another location.
- Image Processing:
- The color document filter now preserves colors better by default.
- Removed unused image filter models, saving about 2.4MB from binaries.
- PDF Generator:
- PDF generation now supports binarized images. Binarized images are stored in the PDF with an optimized compression algorithm, resulting in extremely small file sizes.
- Document Quality Analyzer:
- Improved performance.
- If provided configuration is invalid, an error will be returned instead of changing invalid fields to default values.
- OCR Engine:
- Improved detection of text, specifically for lines that are close together.
ScanbotSDK#createPdfGenerator(ocrConfiguration)with non-nullocrConfigurationcreatesPdfGeneratorthat implementsOcrPdfGeneratorinterface with methods with preprocessed OCRPagesinput. SeeOcrPdfGenerator.
- Document Data Extractor:
- Improved
FrameAccumulationlogic. - Increased accuracy, specifically fewer false positives.
- General speed improvements.
- Glare detection now works more reliably.
- Improved
- Credit Card Scanner:
- Higher recall for expiry date detection.
- Improved
FrameAccumulationlogic.
- Medical Certificate Scanner:
- Improved date recognition.
- Barcode Scanner:
- Improved quiet zone checks for the barcode format
PharmaCodeto reduce the false positive rate. - Reduced the false positive rate of blurred barcodes in live mode when the barcode is only partially visible.
- Improved quiet zone checks for the barcode format
- General:
- π Bug fixes:
- General:
- ImageRef: If
ImageRefwas created in a lazy mode from an encrypted file and then saved to some location, a simple copy was performed. Because of this, the created file could become invalid if the decryption key depends on location. - ImageRef: If
ImageRefwas saved to an already existing location, in some cases it could return an error instead of overwriting the existing file. - ImageRef: Fixed possibility of
ImageRefto be saved as an invalid JPEG (when only part of the image was actually saved). - Fixed issues related to edge-to-edge warnings in Google Play Store for RTU-UI v2 screens.
- Fixed dependencies clash related to material icons in RTU-UI v2 screens.
- ImageRef: If
- Document Scanner:
- Now correctly returns
ERROR_TOO_DARKwhen nothing is detected and the image brightness is below the threshold. - Fixed the title counter update in the review step for RTU-UI v2 screen.
- Fix a rare issue with a bug that occurred on Xiaomi that breaks the image import feature.
- Now correctly returns
- Document Quality Analyzer:
- Fixed a bug that could lead to incorrect DoQA results. This bug affected documents with text lines that were not strictly vertical or horizontal.
- MRZ Scanner:
- Fixed a rare crash with inverted text.
- Fixed an issue with an incorrect birth date being parsed from the MRZ date, when the birth date could be returned from the future.
- VIN Scanner:
- Fixed a bug when scanning VINs that could have discarded valid results.
- Document Data Extractor:
- Fixed a rare case where an EHIC card could be returned with an excluded country.
- Credit Card Scanner:
- An invalid status will now be correctly returned if the frame accumulator confirms a field that is invalid.
- Barcode Scanner:
- Fixed an issue where the use case could not find UPC/EAN barcodes with extensions in RTU-UI v2 screen.
- General:
- β οΈ Breaking changes:
- General:
ScanbotCameraX.onPictureTakenCallbacknow returns an already properly rotatedImageRef. You donβt need to apply rotation fromcaptureInfo, as itβs for informational purposes only.- Changed the
handlemethod signature in theSDKLicenseErrorHandlerandIScanbotSDKLicenseErrorHandlerinterfaces. - All scanner and generator APIs, Document API, classic and RTU-UI components are migrated to return
Result<*>objects. See Result API. - RTU scanners now return
Result<ScannerNameUIResult>object. This allows handling not only successful results, but all errors thrown inside the screen. See Result API. - All scanners now have a common public interface:
- Replaced
recognize...,detect..., andscanFrom*functions by arunfunction. - Replaced all platform specific image parameters, e.g.
BitmapandByteArray, by a parameter of typeImageRef. - Moved
io.scanbot.sdk.core.ImageRefclass toio.scanbot.sdk.image.ImageRef.
- Replaced
ImageRefis now immutable. Theclone()method has been removed, and cloning now acquires a new strong reference.ImageRef:IF_ENABLEDencryption mode has been replaced withAUTO.ScanbotCameraXViewnow operates only withImageRef. Therefore,onPictureTaken(image: ByteArray, captureInfo: CaptureInfo)method changed toonPictureTaken(image: ImageRef, captureInfo: CaptureInfo).- All
ResultHandlers inFrameHandlers have been adjusted to support theResultAPI.- The handle method signature has been changed to
handle(result: Result<Any>, frame: FrameHandler.Frame). - Removed legacy
io.scanbot.sdk.camera.FrameHandlerResultclass. Seeio.scanbot.common.Result.
- The handle method signature has been changed to
- Removed RTU-UI v1 dependencies:
io.scanbot:scanbot-barcode-scanner-sdk-uiandio.scanbot:sdk-package-ui. They must be replaced with RTU-UI v2io.scanbot:rtu-ui-v2-barcodeandio.scanbot:rtu-ui-v2-bundlerespectively. getPath(context: Context, uri: Uri, fileIOProcessor: FileIOProcessor): String?doesn't supportcontent URIsinFileChooserUtils.- Removed legacy EHIC assets.
- Removed legacy ML ImageProcessor assets.
- Removed support of legacy
io.scanbot.sdk.imagefilters.LegacyFilter. - Moved
LineSegmentFloatclass fromio.scanbot.sdk.commontoio.scanbot.sdk.geometry.LineSegmentFloat. - Moved
ParametricFilterclass fromio.scanbot.sdk.imagefilterstoio.scanbot.sdk.imageprocessing. - Moved
ImageRotationclass fromio.scanbot.sdk.core.ImageRotationtoio.scanbot.sdk.image.ImageRotation. - Moved
AspectRatioclass fromio.scanbot.sdk.commontoio.scanbot.sdk.geometry.AspectRatio. - Replaced legacy
io.scanbot.sap.SdkLicenseInfoclass withio.scanbot.sdk.licensing.LicenseInfo. - Replaced legacy
io.scanbot.sap.SdkFeatureclass withio.scanbot.sdk.licensing.Feature. - Moved
GenericDocumentWrapperclass fromio.scanbot.genericdocument.entitytoio.scanbot.sdk.genericdocument. - Moved
GenericDocumentclass fromio.scanbot.sdk.genericdocument.entitytoio.scanbot.sdk.genericdocument.
- Feature removal:
- Removed the License Plate Scanner.
- Document Scanner:
- The
processingModehas been moved fromDocumentScannerParameterstoDocumentScannerConfiguration. - Accepted score thresholds are now all
ints. - Removed Document RTU-UI v1 completely, including all related components.
- Renamed package
io.scanbot.sdk.document.DocumentDetectionStatustoio.scanbot.sdk.documentscanner.DocumentDetectionStatus. - Moved
DocumentScannerclass fromio.scanbot.sdk.documenttoio.scanbot.sdk.documentscanner.
- The
- Image Processing:
- The
Image Processornow returns a newImageRefinstead of applying operations in place. Filters: TheColorDocumentFilternow works slightly differently by default. To get the previous behavior, setpaperWhitening=0andpaperWhiteningBias=64.- The behavior of the
LegacyImageFilterwas changed to be a no-op. The class is kept only for migration purposes. It is now required to migrate to the other parametric filters.
- The
- PDF Generator:
- Added parameter
ocrConfiguration: OcrEngineManager.OcrConfig?toScanbotSDK#createPdfGenerator(ocrConfiguration)that enables OCR in PDF generation. - Removed
generateWithOcr*()methods fromPdfGenerator. To generate PDF with OCR layer useScanbotSDK#.createPdfGenerator(ocrConfiguration). - Moved
PdfGeneratorclass fromio.scanbot.sdk.processtoio.scanbot.sdk.pdf. - Moved
PdfConfigurationclass fromio.scanbot.pdf.modeltoio.scanbot.sdk.pdfgeneration.
- Added parameter
- TIFF Generator:
- Renamed
TiffGeneratortoTiffGeneratorManager. - Moved TIFF model classes from
io.scanbot.sdk.tiff.modeltoio.scanbot.sdk.tiffgeneration. - Changed
Array<*>toList<*>inTiffGeneratorManagergenerate methods.
- Renamed
- Document Quality Analyzer:
- The
minProcessedFraction,maxProcessedFraction,minNumberOfRequiredSymbols, andtileSizeoptions are moved into the separateProcessByTileConfiguration. - Renamed DoQA classes package from
io.scanbot.sdk.processtoio.scanbot.sdk.documentqualityanalyzer.
- The
- OCR Engine:
- Renamed
io.scanbot.sdk.ocr.OcrEnginetoio.scanbot.sdk.ocr.OcrEngineManager. - Moved all OCR model classes from
io.scanbot.sdk.ocr.modeltoio.scanbot.sdk.ocr.
- Renamed
- MRZ Scanner:
- Removed MRZ RTU-UI v1 completely, including all related components.
- Text Pattern Scanner:
- Removed TextPattern RTU-UI v1 completely, including all related components.
- VIN Scanner:
- Removed VIN RTU-UI v1 completely, including all related components.
- Document Data Extractor:
- No longer returns crops by default. This can be re-enabled in the configuration.
- All documents:
CommonFieldType.CountryCodehas been renamed toIssuingCountry. EuropeanDriverLicenseFront: The common field type forCitizenshiphas been changed toNationality.- Renamed output statuses and improved their documentation to align with the new
OK_BUT_INVALID_DOCUMENTstatus. - Removed DDE RTU-UI v1 completely, including all related components.
- Renamed DDE RTU-UI v2 classes package from
io.scanbot.sdk.ui_v2.documentdataextractortoio.scanbot.sdk.ui_v2.documentdata. - Renamed
DocumentDataExtractionStatus.SUCCESStoDocumentDataExtractionStatus.OK. - Renamed
DocumentDataExtractionStatus.ERROR_STILL_FOCUSSINGtoDocumentDataExtractionStatus.SCANNING_IN_PROGRESS_STILL_FOCUSING. - Renamed
DocumentDataExtractionStatus.INCOMPLETE_VALIDATIONtoDocumentDataExtractionStatus.OK_BUT_INVALID_DOCUMENT.
- EHIC Scanner:
- Removed EHIC RTU-UI v1 completely, including all related components.
- Check Scanner:
- Removed Check RTU-UI v1 completely, including all related components.
- Medical Certificate Scanner:
- Removed Medical RTU-UI v1 completely, including all related components.
- Barcode Scanner:
- No longer returns crops by default. This can be re-enabled in the configuration.
- The
MicroQrCodebarcode format has been removed from the list of common barcode formats. - Removed Barcode RTU-UI v1 completely, including all related components.
- Removed
io.scanbot.sdk.ui_v2.barcode.configuration.BarcodeScannerConfigurationand replaced it withio.scanbot.sdk.barcode.BarcodeScannerConfigurationin Barcode RTU-UI v2. - Moved
BarcodeDocumentParserclass fromio.scanbot.sdk.barcode.documenttoio.scanbot.sdk.barcode.
- General:
- π Under the hood:
libittnotifyis no longer linked.- Fixed
NoClassDefFoundError: LocalBroadcastManager missingthat happened during dependency tree resolving when final app used newer version of androidx dependencies. - Dropped
SharedPreferencesusage for the License Key storing. - The SDK Project has been switched to
compileSdk = 36. - The SDK Project has been switched to AGP 8.10.1.
- The SDK Project has been switched to Kotlin 2.1.21.
- Updated
Daggerlib dependency to 2.56.2. - Updated
Kotlin Standard Librarydependency to 2.1.21. - Updated
libzuecilib dependency to 1.0.1. - Added
snowflake-arctic-embed-xslib dependency toeadfba3b.
Version 7.1.2 (15 Oct 2025)β
- π New:
- Barcode Scanner:
- Barcode configurations for 1D barcode types have a new field
minimumNumberOfRequiredFramesWithEqualRecognitionResultthat requires this number of frames on which the barcode has to be detected.
- Barcode configurations for 1D barcode types have a new field
- Barcode Scanner:
- π Improvements:
- Check Scanner:
- Improve handling of scanning result when
DetectionMode.DETECT_AND_CROPis set. - Now extracts the field after the account number on US checks. The name in the result is
CheckNumber. Note that this name is only based on common usage and not on any enforced standard. - Updated US check field documentation.
- Improve handling of scanning result when
- Check Scanner:
- π Bug fixes:
- Check Scanner:
- Fixed a bug in the implementation of the US check standard which lead to rejection of valid checks.
- Document Scanner:
- Fixed issue with empty
documentQualitywhenscreens.camera.acknowledgement.acknowledgementMode = AcknowledgementMode.BAD_QUALITY. - Fixed a bug where the usage guidance wouldn't show properly on screen startup.
- Fixed image size on review screen when screen is in horizontal layout.
- Fixed issue with empty
- General:
- Fixed 16 kb page size support for TFLite native library.
- Check Scanner:
- β οΈ Breaking changes:
- Barcode Scanner:
- The field
minConfirmationsStandaloneEANinBarcodeAccumulationConfigurationwas moved and renamed to the fieldminimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinBarcodeFormatUpcEanConfiguration.
- The field
- Barcode Scanner:
Version 7.1.1 (27 Aug 2025)β
- π New:
- General:
- Added setters for
UseCaseResolutionSizelimits for Preview and Analyzer use-cases inScanbotCameraXView. SeeScanbotCameraXView#setPreviewFrameResolutionLimit(limit: UseCaseResolutionSize)andScanbotCameraXView#setAnalyzerFrameResolutionLimit(limit: UseCaseResolutionSize).
- Added setters for
- General:
- π Improvements:
- Barcode Scanner:
- Improved handling of back action with multiple dialogs and bottom sheets.
- Document Scanner:
- Don't rotate images if they are initially detected as rotated by 180 degrees.
- General:
- Changed permission on mock camera to
android.permission.READ_EXTERNAL_STORAGE. - Optimized the selection of the resolution for the Preview use-case in
ScanbotCameraXView. Square resolution support is now an opt-in option. SeeIScanbotCameraView#setSquareFrameSizeEnabled(enabled: Boolean).
- Changed permission on mock camera to
- Barcode Scanner:
- π Bug fixes:
- MRZ Scanner:
- MRZ Scanner RTU UI v1: fixed kotlin compatibility issue.
- Document Scanner:
- Document Scanner RTU UI v2: fixed the screen behavior on multiple manual snaps in "single page" mode.
- Document Scanner RTU UI v2: fixed an issue where autofocus failed during the autosnap event.
- Barcode Scanner:
- Fixed an issue where the
extractedDocumentwas not being generated for GS1 HandlingDecodeStructureandDecodeFull. - Barcode Scanner RTU UI v2: fixed an issue where the back button navigation did not work.
- Fixed an issue where the
- Credit Card Scanner:
- Fixed an issue where an invalid status was not being returned when the frame accumulator confirmed an invalid field.
- General:
- Fixed an issue with the black preview in
ScanbotCameraXViewwhen the camera selected a square resolution on some Samsung and Xiaomi devices. - Prevent throwing exception when
/sys/devices/system/cpu/cpufreqdoesn't exist.
- Fixed an issue with the black preview in
- MRZ Scanner:
- π Under the hood:
- Added 3rd party PdfiumAndroid library.
Version 7.1.0 (24 Jul 2025)β
- π New:
- Document Scanner:
- RTU-UI v2: Added parameter
DocumentScanningFlow.showReviewScreenOnStartthat allows showing the Review Screen immediately if the scanner is opened with an existent document ID. E.g. document edit mode. - RTU-UI v2: Added an option to automatically navigate to the Review Screen after each scan. Use
DocumentScanningFlow().screens.camera.openReviewAfterEachScan = true. - RTU-UI v2: Added an option to open either the first or the last page when the Review Screen is opened. Use
DocumentScanningFlow().screens.review.showLastPageWhenAdding = true.
- RTU-UI v2: Added parameter
- VIN Scanner:
- RTU-UI v2: Added a brand-new, redesigned VIN Scanner. Use
io.scanbot.sdk.ui_v2.vin.VinScannerActivity.
- RTU-UI v2: Added a brand-new, redesigned VIN Scanner. Use
- Document Data Extractor:
- RTU-UI v2: Added a brand-new, redesigned Document Data Extractor. Use
io.scanbot.sdk.ui_v2.documentdata.DocumentDataExtractorActivityto start the new scanner. - Introduced a Document Verification API including document semantics verification capabilities. Use the new
verifyDocument(documentParts: List<GenericDocument>)method. - Added support for multiple new document types:
- ID Cards from Brazil, Hong Kong, Macao, and China.
- Chinese Entry and Exit Permits.
- Returns the issuing series of German ID Cards as part of the returned document as the
Seriesfield. - Now supports the front side of many more EU driver's licenses.
- Partial support for parsing of German addresses. For respective ID cards, address parsing can be enabled via a new
DeAddressParserConfiguration. Parsed addresses are stored as child documents.
- RTU-UI v2: Added a brand-new, redesigned Document Data Extractor. Use
- Check Scanner:
- RTU-UI v2: Added a brand-new, redesigned Check Scanner. Use
io.scanbot.sdk.ui_v2.check.CheckScannerActivity.
- RTU-UI v2: Added a brand-new, redesigned Check Scanner. Use
- Barcode Scanner:
- Added
extendedQuadandextendedQuadNormalizedfields to theBarcodeItemclass to represent extended quads for 1D barcodes. BarcodeItemhas a new fieldrawBytesEncodingsthat contains the precise character encoding information ofrawBytes.BarcodeItemhas a new fieldstructuredAppendInfofor messages split across multiple barcodes.BarcodeScannerConfigurationhas a new fieldaccumulationConfigwhich allows the accumulation of barcodes over multiple frames in live mode.BarcodeItemhas a new fieldglobalIndexto identify a barcode across multiple frames.- RTU-UI v2: Added
selectedZoomFactor: Doublemetadata field inBarcodeScannerUiResultwith the value that the user used to scan the barcode.
- Added
- General:
- Added an analytics feature. You can now subscribe to events and redirect them to an external analytics system. Use
ScanbotSDK(context).analyticsManager. ImageRefin Java wrapper can now be efficiently created from ajava.io.InputStream.- Added
setImageCaptureEnabled(enabled: Boolean)method toScanbotCameraXViewto enable or disable image capture functionality. - Added more debug level logging to
ScanbotCameraXViewevents. - Added the possibility to inject an image to simulate a video stream and a captured image to any scanner's camera session for UI testing. See
ScanbotCameraViewConfigurationProvider. - Integrated Android Performance Hint Session. This significantly improves multithreading performance for different scanners on devices that support the Hint Session (e.g. Pixel 9 Pro and Samsung S24 Ultra). Use
ScanbotSDKInitializer.setPerformanceHintApiEnabled(false)to turn it off. - Added option for rtu-ui-v2
CameraConfigurationfor limit the detection fps inScanbotCameraXView. UseCameraConfiguration.fpsLimit = 4to limit the detection fps to less than 4 frames per second.
- Added an analytics feature. You can now subscribe to events and redirect them to an external analytics system. Use
- Document Scanner:
- π Improvements:
- Document Scanner:
- Increased performance for Document Scanner algorithms.
- Document Quality Analyzer:
- Speed improvements. Note: document quality scores may slightly change for the same input images when compared to the previous version of the DoQA.
- OCR Engine:
- Improved handling of special characters like umlauts when frame accumulation is used.
- MRZ Scanner:
- On US border crossing permits, the document number is now returned in the correct field.
- Dates in MRZ now also support
parsedDatacorrectly.
- Text Pattern Scanner:
- General speed improvements.
- Now supports XNNPACK for faster inference.
- Document Data Extractor:
- General speed improvements.
- Now detects whether a document is in focus and only starts the heavy recognition pipeline when image quality is suitable.
- Can now detect glare in images. Fields obstructed by glare will be returned with a validation status of
Obstructed. - Classification for documents with MRZ is more stable.
- Added normalization before date recognition.
- More consistent usage of common field types.
- Improved maiden name processing for DePassport and DeIdCard.
- Now also supports the new German ID card format issued starting 2024.
- Check Scanner:
- If image cropping is enabled and is successful, check recognition is performed on the crop instead of the original image.
- Credit Card Scanner:
- Support for credit cards with an expiry date above the card number.
- Support for credit cards with a name written on two lines.
- Medical Certificate Scanner:
- Date recognition in Medical Certificate forms is now based on the Scanbot OCR Engine and shows significant quality improvements.
- Barcode Scanner:
- All Barcode AR overlays are now based on
extendedQuads. - Boarding pass document parser now supports up to version 8 of the IATA-BCBP standard.
- vCard document parser was improved.
- All Barcode AR overlays are now based on
- Android: Improved
ScanbotCameraXViewpreview size selection strategy for the square screens. - Android: Improved the algorithm of high performance cores computation as the old one didn't work correctly on some devices (e.g. Pixel 9 Pro).
- Android: Integrated Android Performance Hint Session. This significantly improves multithreading performance for some scanners (e.g. Credit Card Scanner and Barcode Scanner) on devices that support the Hint Session (e.g. Pixel 9 Pro and Samsung S24 Ultra).
- Document Scanner:
- π Bug Fixes:
- Document Scanner:
- RTU-UI v2: Fixed an issue where the last scanned page's preview would not update on a specific layout configuration.
- RTU-UI v2: Fixed an issue where the start of the activity without initializing the Scanbot SDK was leading to an application crash.
- RTU-UI v2: Auto-rotation is now applied only if the document was found in the snapped image.
- RTU-UI v1: Fixed insets for the shutter button when the app is built with
target_sdk >= 35. - Cropping View: Fixed an issue with a broken layout after screen rotation without recreating the view.
- MRZ Scanner:
- Fixed an issue causing
nullto be returned as a confidence of empty fields.
- Fixed an issue causing
- Document Data Extractor:
- When
IssuerNumberis excluded on European health insurance cards, this no longer leads to theIssuerNamebeing incorrectly excluded. - MRZ fallback now also works when no accepted document types are selected.
- When
- Credit Card Scanner:
- Setting the confirmation method to
INTERPOLATEwhen scanning credit cards no longer results in unsuccessful recognitions if all data was extracted and verified. - Returns the correct scanning status if no fields are recognized.
- Setting the confirmation method to
- Barcode Scanner:
- The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now, all possible codewords are checked.
- vCard document parser now correctly processes the "FN" key as FormattedName.
- General:
- Fixed a rare division by zero crash in Credit Card Scanner, Document Data Extractor, and MRZ Scanner.
- RTU-UI v2: Fixed handling of the back actions for modal dialogs.
- Fixed a bug when
CameraTakePictureCallback.onTakePictureRequested()wasn't called properly at the corresponding event.
- Document Scanner:
- β οΈ Breaking changes:
- Document Data Extractor:
- Removed the legacy RTU-UI Document Data Extractor. Use RTU-UI v2 instead.
- By default, only German documents are now enabled for scanning. Previously, all supported documents were enabled.
DeDriverLicenseFrontandDeDriverLicenseBackare renamed toEuropeanDriverLicenseFrontandEuropeanDriverLicenseBackrespectively.
- Barcode Scanner:
BarcodePolygonsView.BarcodeItemViewBinder.bindView(): Added an additional property withtextViewStyle.
- Removed
ScanbotSdkInitializer.useCameraXRtuUi().
- Document Data Extractor:
- π Under the hood:
- Added flatbuffers 2.0.6.
Version 7.0.3 (3 Jun 2025)β
- π New:
- Added an option to limit the analyzer FPS processing for
DocumentScannerView,BarcodeScannerViewandBarcodeScanAndCountView. See more hereICameraViewConfiguration#setAnalyzerFpsLimit(fps: Float).
- Added an option to limit the analyzer FPS processing for
- π Improvements:
- Updated custom
ScanbotCameraXConfigProviderlogic for Kiron devices.
- Updated custom
Version 7.0.2 (27 May 2025)β
- π New:
- PDF & TIFF Generation:
- Added source OCR Page as an optional input parameter to PDF Generator.
- PDF & TIFF Generation:
- π Improvements:
- PDF & TIFF Generation:
- PDF Generator with OCR layer now handles non-ASCII characters correctly.
- Barcode Scanner:
- GS1 Composite codes are now processed faster in Scan from Image mode.
- RTU-UI v2: Added ability to force close opened scanner screens by local intent.
- PDF & TIFF Generation:
- π Bug Fixes:
- Document Scanner:
- RTU-UI v2: Removed accessibility container for user guidance image.
- MRZ Scanner:
- Scanning from still images now correctly returns
MrzScannerResult.successas true.
- Scanning from still images now correctly returns
- Barcode Scanner:
- Fixed a crash that occurred when parsing an HIBC document.
- RTU-UI v2: Fixed a crash with barcode launcher initialization when the SDK was not yet initialized.
- Fixed the camera preview size selection algorithm for
ScanbotCameraXViewwith a square aspect ratio.
- Document Scanner:
- β οΈ Breaking changes:
- MRZ Scanner:
- Removed outdated
detectMrz: Booleanflag fromscanInArea()methods.
- Removed outdated
- MRZ Scanner:
- π Under the hood:
- Updated Boost C++ version to 1.88.0.
- Updated spdlog version to 1.15.2.
- Updated xsimd version to 13.2.0.
- Updated xtensor version to 0.26.0-scanbot.
- Updated xtl version to 0.8.0.
Version 7.0.0 (22 Apr 2025)β
- π New:
- Document Scanner:
ContourDetectorfeature was renamed toDocumentScannerand has a more advanced configuration and scanning API. SeeDocumentScanner.- RTU-UI v2: Added an auto-rotate document option. The document will now be automatically rotated based on the text orientation detected by the Document Quality Analyzer. See
CameraScreenConfiguration.autoRotateImages. - Introduced advanced generation settings for PDFs and TIFFs.
- Added a new document detection status
OK_BUT_TOO_DARK.
- Document Quality Analyzer:
- Advanced configuration of Document Quality Analyzer. See
DocumentQualityAnalyzerConfiguration. - Can now return the orientation of the document in steps of 90 degrees. Enabled by setting
DocumentQualityAnalyzerConfiguration.detectOrientationto true. - Optionally return
QualityHeatmapas a part of theDocumentQualityAnalyzerResult. - Added an option to limit the input image size. If it is bigger, then the image will be resized.
- Added support for an advanced on-image scanning configuration
documentQualityAnalyzercall. - Added an option to include small text on the image in the analysis. Disabled by default.
- Advanced configuration of Document Quality Analyzer. See
- Credit Card Scanner:
- Introduced a new feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See
CreditCardScanner. - Introduced a new Credit Card Scanner RTU-UI v2 component. See
CreditCardScannerActivity.
- Introduced a new feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See
- MRZ Scanner:
- Advanced configuration of MRZ Scanner. See
MrzScannerConfiguration. - New RTU UI v2 is now available for MRZ Scanner. See
MrzScannerActivity. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
- Added properties to
MrzScannerConfigurationthat allow to set if crops should be returned. Disabled by default.
- Advanced configuration of MRZ Scanner. See
- Text Pattern Scanner:
- Feature was renamed from Generic Text Recognizer to Text Pattern Scanner and has a more advanced configuration and scanning API. See
TextPatternScanner. - New RTU UI v2 is now available for Text Pattern Scanner. See
TextPatternScannerActivity. - Added an option to define if the RegEx or Pattern should be used for validation.
- Feature was renamed from Generic Text Recognizer to Text Pattern Scanner and has a more advanced configuration and scanning API. See
- VIN Scanner:
- Added a new property
extractVINFromBarcodeinVinScannerConfigurationthat allows VIN data extraction from barcodes (for RTU UI v1 screen).
- Added a new property
- Document Data Extractor:
- Feature was renamed from Generic Document Recognizer to Document Data Extractor and has a more advanced configuration and scanning API. See
DocumentDataExtractor. - Now supports fallback to extraction of only the MRZ on unsupported documents.
- Added support for German driver qualification card.
- Document field validation now supports two additional statuses:
INFERREDandIGNORED. - Generic document fields now support
parsedDataattributes for standardized data (ISO 8601 dates, ISO 3166-1 countries, "Male"/"Female" gender). SeeFieldParsedData. - Added support for an advanced on-image scanning configuration for:
DocumentDataExtractor,HealthInsuranceCardScanner,MedicalCertificateScanner,MrzScanner, andCheckScanner.
- Feature was renamed from Generic Document Recognizer to Document Data Extractor and has a more advanced configuration and scanning API. See
- Health Insurance Card (EHIC) Scanner:
- Advanced configuration of Health Insurance Card Scanner. See
EuropeanHealthInsuranceCardRecognizerConfiguration.
- Advanced configuration of Health Insurance Card Scanner. See
- Check Scanner:
- Feature was renamed to Check Scanner and has a more advanced configuration and scanning API. See
CheckScanner. - Added possibility of returning cropped document.
- Feature was renamed to Check Scanner and has a more advanced configuration and scanning API. See
- Medical Certificate Scanner:
- Feature was renamed to Medical Certificate Scanner and has a more advanced configuration and scanning API. See
MedicalCertificateScanner.
- Feature was renamed to Medical Certificate Scanner and has a more advanced configuration and scanning API. See
- Barcode Scanner:
- Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- Added support for an advanced on-image scanning configuration for
detectBarcodesOnImagecall. - Added ability to configure common barcode properties via
BarcodeFormatCommonConfiguration. - Added
minimumSizeScoreto barcode configurations;BarcodeItemhas a newsizeScorefield. Barcodes withsizeScore < minimumSizeScoreare ignored. RTU-UI v2 also supportsminimumSizeScore. - Introduced
strictModefor certain barcode configurators (QR_CODE,MICRO_QR_CODE,RMQR_CODE,PDF_417,MICRO_PDF417, andGS1_COMPOSITE). - Added the ability to return the barcode image in the resulting object via
BarcodeScannerConfiguration.returnBarcodeImage. - Added new engine modes
NEXT_GEN_FAR_DISTANCE(optimized for scanning from far distances) andNEXT_GEN_LOW_POWER_FAR_DISTANCE(optimized for scanning from far on low-power devices). - Barcode scanning results have been enhanced with more detailed information, including
sizeScore. SeeBarcodeItem. - Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). Old sets removed. See
BarcodeFormats. - Simplified configuration of Barcode Scanner. See
BarcodeScannerConfiguration.create(...). - Added an ability to filter out all unaccepted barcode document formats in
BarcodeDocumentParser. - Added a flag
addAdditionalQuietZonetoBarcodeFormatConfigurationBasefor scanning sharp crops of a barcode.
- Added a new property
keepScreenOnin all RTU-UI v2 scanner screen configurations to keep the device screen awake while scanning. - Cropped images returned as part of the scanner results are now represented as image references (
ImageRef). - Image Processor can now be created with an
ImageRefobject. SeeImageProcessor(imageRef: ImageRef). - The
ResultAccumulationConfigurationnow supports a newconfirmationMethodfield. - Document Data Extractor, Medical Certificate Scanner and Check Scanner now return document detection results.
- Document Scanner:
- π Improvements:
- Document Scanner:
- Added
OK_ORIENTATION_MISMATCHstatus, returned when screen and document orientations don't match. Can be ignored via configuration. - Exposed
acceptedAspectRatioScoreandaspectRatiosin the scanner configuration. - Improved the Document Scanner RTU-UI v2 acknowledgment's bad image quality hint by adding the ability to present up to 5 lines.
- Added
- Document Quality Analyzer:
- Guarantee the same document quality score for 90 degrees rotated images.
- Image Processing:
- New Image Processor preset
BinarizationFilterPreset.PRESET_5for documents with barcodes.
- New Image Processor preset
- MRZ Scanner:
- For pre-2022 Costa Rican passports, ID Number is returned as
DocumentNumberand Sequence Number asPersonalNumberin MRZ fields.
- For pre-2022 Costa Rican passports, ID Number is returned as
- Text Pattern Scanner:
- Improved performance with the same quality (quantized model).
- VIN Scanner:
- Validation of VINs implements the full ISO 3779 standard, reducing false positives.
- Document Data Extractor:
- Digits can no longer be recognized as part of given names or surnames.
- Higher accuracy for document classification.
- Barcode Scanner:
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
stripCheckDigits = true. - Significant speed-up in live mode on very large input resolutions.
- Improved quiet zone checks for
ITF,CODE_11,MSI_PLESSEY,IATA_2_OF_5,INDUSTRIAL_2_OF_5, andCODE_25. - Improved the false positive rate for
ITFbarcodes. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for Barcode Scanner RTU-UI v2 (
BarcodeScannerConfiguration.onlyAcceptDocuments). - Added support for
maximumTextLengthconstraint onCODE_11,CODE_39,CODE_93,CODE_128, andCODABARbarcode formats.
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
- Document Scanner:
- π Bug Fixes:
- Document Scanner and Data Capture modules:
- Fixed Document Scanner point sorting.
- Fixed Document Data Extractor bug determining validation status when fields excluded.
- Fixed Document Data Extractor incorrect handling of Driver License expiry date validation.
- Fixed Document Data Extractor merging of
MaidenNameandSurnameon some German ID cards. - Fixed Document Quality Analyzer crash when
maxImageSizewas 0. - Fixed Document Quality Analyzer patch size when
minFraction= 1. - Resolved Document Data Extractor high peak memory consumption issue.
- Fixed Text Pattern Scanner incorrect output for Unicode symbols.
- TIFF Generator: fixed JPEG/Deflate support and URI schema handling.
- Clamped parametric filters radius to 127.
- In Document Scanner RTU-UI v2,
PageSnapFeedbackNone()no longer prevents auto-transition to review screen at max pages limit. - Cropping Screen RTU-UI v2 status bar light/dark mode now correctly applied.
- Cropping Screen RTU-UI v2 now returns result instead of canceling if no changes were made.
- PDF Generator properly handles no-schema URIs.
- Fixed Document Scanner
fillPolygonColor(not filled by default) for RTU-UI v1. - Fixed Document Scanner/Finder User Guidance default background for RTU-UI v1.
- Fixed Document Scanner shutter button default color for RTU-UI v1.
- Fixed Check Scanner User Guidance default background (was absent) for RTU-UI v1.
- Fixed Medical Certificate Scanner User Guidance default background (was absent) for RTU-UI v1.
- Fixed MRZ Scanner crash when MRZ fallback was enabled and no text on document was detected.
- Fixed person-number extraction crash and simplified logic.
- Fixed
content://type uri handling forPdfGenerator,TiffGenerator, andOcrEngine.
- Barcode Scanner:
- Fixed returned results for all types of
UpcEanExtensionBehavior. - Fixed checksum for
Code39barcode format. - Fixed an overflow when decoding
MICRO_QR_CODEwith wrong bits in numeric mode. - Fixed
minimumTextLengthforITFbarcode format (checked symbols instead of text length). - Fixed sorting of quad points for four-state/postal barcode types.
- In
Code11barcodes with 10 data digits, whenchecksumis enabled andstripCheckDigitsis true, scanner now correctly strips both check digits. FindAndPickScanningMode.sheetContent.barcodeItemImageVisiblein RTU-UI v2 now correctly applies visibility.- Fixed quad when flag
BarcodeFormatConfigurationBase.addAdditionalQuietZoneis enabled.
- Fixed returned results for all types of
- Fixed the resolution strategy for the square preview for
ScanbotCameraXView. - Fixed a crash when adding/removing frameHandlers in
ScanbotCameraXin a concurrency race condition. - Fixed screen insets for Android API 35 with forced edge-to-edge mode by opting out for RTU-UI v1 screens.
- In RTU-UI v2, modal dialog no longer appears below status bar.
- Accessibility content for action buttons in RTU-UI v2 now properly applied.
- Document Scanner and Data Capture modules:
- β οΈ Breaking changes:
- General API structure:
ContourDetectorfeature renamed toDocumentScanner. Document Scanner moved toio.scanbot.sdk.documentpackage.- Generic Document Recognizer feature renamed to
DocumentDataExtractor. - Generic Text Recognizer feature renamed to
TextPatternScanner.sdk-generictext-assetsrenamed tosdk-textpattern-assets. - Medical Certificate Recognizer feature renamed to
MedicalCertificateScanner. - Check Recognizer feature renamed to
CheckScanner. MRZScannerclass renamed toMrzScanner.- TIFF Writer feature renamed to
TiffGenerator. Allwrite*()methods renamed togenerateFrom*(). - For all classic components (scanners) methods like
scan[recognize]WithFinderOverlay()are renamed toscan[recognize]InArea(). - For Document Data Extractor classic component all
recognizemethods are renamed toextractFrom[input_type](). - For Document Quality Analyzer all methods
analyzeIn*()are renamed toanalyzeOn*(). - Removed class
io.scanbot.sdk.ui_v2.common.mappers.AspectRatio, useio.scanbot.sdk.common.AspectRatio. - Removed Result Repositories mechanism for most RTU UI screens.
- Moved all logic related to PDF with OCR from OCR Engine to PDF Generator. See
PdfGenerator.generateWithOcr*(). - Removed class
ImageProcessor.ImageRotation. Useio.scanbot.sdk.core.ImageRotation.
- Feature removal:
- Removed deprecated License Plate Scanner feature.
- Removed deprecated Text Orientation Scanner. Use
DocumentQualityAnalyzerinstead.
- Result type changes:
- Changed result APIs for Barcode Scanner (RTU-UI v2:
BarcodeScannerUiResult), Check Scanner (CheckScanningResult), Health Insurance Card Scanner (EuropeanHealthInsuranceCardRecognitionResult), MRZ Scanner (MrzScannerResult), Medical Certificate Scanner (MedicalCertificateScanningResult), VIN Scanner (VinScannerResult), Document Scanner (DocumentDetectionResult), Text Pattern Scanner (TextPatternScannerResult).
- Changed result APIs for Barcode Scanner (RTU-UI v2:
- Configuration object changes:
- Removed old configuration APIs for Barcode Scanner, Check Scanner, Document Quality Analyzer, Health Insurance Card Scanner, MRZ Scanner, Document Data Extractor, Text Pattern Scanner, Medical Certificate Scanner, VIN Scanner, and PDF Generator. Use new configuration mechanisms.
- Renamed enum
MSIPlesseyChecksumAlgorithmtoMsiPlesseyChecksumAlgorithm. - Replaced
acceptedDocumentFormatsinBarcodeScannerConfigurationwithextractedDocumentFormatsandonlyAcceptDocumentsflag.
- Document Scanner:
- Changed engine mode API representation:
LEGACYforEDGE_BASED,MLforML_BASED. SeeDocumentScannerEngineMode. - RTU-UI v2:
screens.camera.cameraConfiguration.ignoreBadAspectRatioparameter renamed toignoreOrientationMistmatch. - RTU-UI v2:
acceptedSizeScoreandacceptedAngleScorerange changed from0..1to0..100. - RTU-UI v2: Detection parameters moved from
screens.camera.cameraConfigurationtoscreens.camera.scannerParameters. - All detected lines in results represented by new
LineSegmentFloatclass. - Removed
context: Contextproperty fromDocumentScannerActivity.ResultContractconstructor.
- Changed engine mode API representation:
- Document Quality Analyzer:
- Requires new dependency:
io.scanbot:sdk-docqualityanalyzer-assets:X.X.X. - Removed
NO_DOCUMENTstatus fromDocumentQualityenum.
- Requires new dependency:
- Text Pattern Scanner:
- Changed interfaces of Text Pattern Validation and Clean callbacks. Use new
ContentValidator.
- Changed interfaces of Text Pattern Validation and Clean callbacks. Use new
- Document Data Extractor:
- Removed
shouldRecognizeproperty fromextract*()methods. Use newDocumentDataExtractionMode. sdk-genericdocument-assetsrenamed tosdk-documentdata-assets.
- Removed
- VIN Scanner:
- VIN Scanner RTU-UI v1: Changed
TextPatternScannerResultresult type toVinScannerResult.
- VIN Scanner RTU-UI v1: Changed
- Barcode Scanner:
- All Barcode Formats are represented by
io.scanbot.sdk.barcode.BarcodeFormatenum. Other barcode format enums removed. - Replaced class
io.scanbot.barcodescanner.model.BarcodeTypewithio.scanbot.sdk.barcode.BarcodeFormat. - Barcode Document Format is represented by
io.scanbot.sdk.barcode.BarcodeDocumentFormatenum. - RTU-UI v2: Refactored
BarcodesExtensionFilterenum, synchronized withUpcEanExtensionBehaviorenum from Barcode Scanner Classic component API.
- All Barcode Formats are represented by
- RTU-UI v1:
- RTU-UI v1: All screens now expect
RGBAvalues for HEX string when parsing configuration from JSON. - RTU-UI v1 Barcode: Refactored screen result structure. Removed ability to set Barcode Image Generation type in screen config.
- RTU-UI v1: All screens now expect
- General API structure:
- β οΈ Deprecations:
- Marked Document Scanner, Finder Document Scanner, MRZ Scanner and Text Pattern Scanner RTU UI v1 screens as deprecated. Please use the corresponding RTU UI v2 screens.
- π Under the hood:
- Updated Compile Sdk to 35.
- Android Jetpack Compose updated to 1.7.8.
- Upgraded nlohmann::json to 3.11.3.
- Upgraded xsimd to 13.0.
- Upgraded xtl to 0.7.7.
- Upgraded xtensor to 0.25.
- Upgraded yaml-cpp to 0.8.
- Upgrade OpenCV to 4.10.
Version 6.2.1 (18 Feb 2025)β
- π Bug fixes:
- Fixed potential issue with
BarcodePolygonViewduringonDestroywhen the AR overlay is displayed. - Fixed nested views of
ScanbotCameraXViewwhen readjusting the parent view size. - Cropping RTU-UI v2: Now returns successfully when the crop has not been adjusted and the apply button is pressed.
- Document Scanner RTU-UI v2: The horizontal layout camera bar now has a fixed width.
- Fixed potential issue with
Version 6.2.0 (30 Jan 2025)β
- π New:
- Add the ability to limit the detection fps in
ScanbotCameraX. - Implemented AES GCM encryption. Use
AesGcmEncryptedFileIoProcessorwhen setting encryption during SDK initialization. - Document Scanner RTU-UI v2:
- Added a configurable title for the acknowledge screen. Disabled by default.
- Added an option to suppress auto-cropping on manual snaps. Use
screens.camera.cameraConfiguration.autoCropOnManualSnap. - Added support for magnetic line color. Use
screens.cropping.croppingPolygonMagneticLineColor.
- Add the ability to limit the detection fps in
- π Improvements:
- Document Scanner RTU-UI v2: Added basic support for landscape mode.
- Document Scanner RTU-UI v2: The Review Screen zoom button now allows its text to be hidden.
- Improved
ScanbotCameraXresolution selection strategies for scanning and preview cases. - Added new encryption
AesGsmto encrypt separate files with standalone keys. UseAesGcmEncryptedFileIoProcessorasFileIoProcessorinterface.
- π Under the hood:
- Updated androidx camerax 1.4.1 with 16kb page support.
Version 6.1.2 (4 Dec 2024)β
- π Bug fixes:
- Fixed the height of the bottom sheet component for the Barcode Scanner RTU UI v2 screen.
Version 6.1.1 (28 Nov 2024)β
- π New:
- Added
Cleaner.cleanUpSnappedDocumentsData()method to delete all PDF and TIFF files generated with the legacy Page API. - Added
deleteAllDocuments()anddeleteDocument(uuid)function todocumentApi.
- Added
- π Improvements:
- After calling
documentApi.createDocument(),saveSync()is now also called so that the new empty document will be created in the file storage.
- After calling
- π Bug fixes:
- Fixed the document migration function enabling the migration of encrypted pages.
Version 6.1.0 (8 Nov 2024)β
- π New:
- Added support for 16KB page size (Android 15).
- RTU UI v2.0 Document Scanner:
- Added
NoFeedbackModeto disable the animation when a page is captured and the document quality check is disabled. - Added a new property
hardwareButtonsEnabledthat enables snapping from the hardware volume buttons and the new hardware camera control button (enabled by default).
- Added
- Added option
MultipleScanningMode.allowEmptySubmissionto allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2.
- π Improvements:
- Document detector:
- Improved detection speed and robustness against orientation changes.
- Improved robustness against picking up random contours.
- Improved robustness against documents with colored corners, booklets, handheld documents and cards, documents near edges of tables and overlapping documents.
- Document detector:
- π Bug fixes:
- RTU UI v2.0 Document Scanner:
- Fixed a rare crash on the review screen when encryption is enabled.
- Fixed a crash on some devices (e.g., Samsung S21, S22) with encryption enabled.
- Fixed an issue that could cause a crash in the Document RTU v2 scanner after scanning a very large number of pages in one session.
- Fixed KANJI mode for QR codes.
- Fixed a bug with incorrect raw bytes returned for some 2D barcode types.
- Fixed an issue with AR Overlay and barcode mapping in
BarcodeScannerActivityRTU UI v2.0, where the mapped image wasn't shown on the AR Overlay until the same barcode appeared in the list below.
- RTU UI v2.0 Document Scanner:
- β οΈ Breaking changes:
- Changed the type of the
rotationfield in thePageclass to theio.scanbot.sdk.core.ImageProcessorenum.
- Changed the type of the
Version 6.0.0 (15 Oct 2024)β
- π New:
- Implemented new Document API to perform document creation and editing.
- Implemented new Ready-To-Use Document Scanner screen with extended scanning and reviewing capabilities.
- Added
render()methods which takedocument: Documentas an input parameter inPDFRendererinterface. - Added
render()methods which take optionaloutputFile: Fileas an input parameter inPDFRendererinterface. - Added
recognizeTextWithPdfFrom*()methods which takedocument: Documentas an input parameter inOpticalCharacterRecognizerinterface. - Added
recognizeTextWithPdfFrom*()methods which take optionaloutputFile: Fileas an input parameter inOpticalCharacterRecognizerinterface. - Added
writeTIFF()methods which takedocument: Documentas an input parameter inTIFFWriter. - Added
writeTIFF()methods which take optionaloutputFile: Fileas an input parameter inTIFFWriter. - Added new property
addAdditionalQuietZonetoBarcodeScannerAdditionalConfig. - Added a new predefined collection of barcodes,
BarcodeFormat.POSTAL, which includes barcodes used in the postal industry.
- π Improvements:
- Improved
MagnifierView. - AR overlay is enabled by default for
FindAndPickScanningModein Barcode Scanner RTU UI v2 screen. - For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
- Improved
- π Bug fixes:
- Minor fixes for BarcodeScanner appearance in RTU UI v2 to make it consistent with iOS counterpart.
- Fix point sorting in
ContourDetector.
- β οΈ Breaking changes:
- All classes from the old Page API were marked as deprecated and moved to
io.scanbot.sdk.persistence.page.legacypackage. - Renamed methods to
render()inPDFRendererinterface. - Changed
render()method signature inPDFRendererinterface. Now it takes an array of Uris instead of the List of Uris. - Renamed
writeTIFFFromImages()andwriteTIFFFromFiles()methods towriteTIFF()inTIFFWriter. - Renamed
writeTIFFFromImages(): ByteArraymethods totiffByteArray(): ByteArrayinTIFFWriter. - Document scanner asset dependency
io.scanbot:sdk-ml-docdetectorwas renamed toio.scanbot:sdk-ml-docdetector-assets. - Renamed
io.scanbot.sdk.process.model.DocumentQualityResulttoio.scanbot.sdk.process.model.DocumentQuality - Renamed
io.scanbot.sdk.core.contourdetector.DetectionStatustoio.scanbot.sdk.core.contourdetector.DocumentDetectionStatus - The usage of asset dependency
io.scanbot:sdk-mc-assetsand also the usage of OCR fromio.scanbot:sdk-package-2now require an additional dependency to be specified:implementation("io.scanbot:sdk-common-ocr-assets:$scanbotSdkVersion").
- All classes from the old Page API were marked as deprecated and moved to
Version 5.2.3 (5 Aug 2024)β
- π Bug fixes:
- Fixed the false positive document detection (introduced in v5.2.0).
- Fixed fallback in the "Background Clean" filter when the ML model is unavailable.
Version 5.2.2 (22 Jul 2024)β
- π New:
- Added support for Canadian and UAE Check standards.
Version 5.2.1 (12 Jul 2024)β
- π Improvements:
- Improved false positive rate of UPC/EAN extensions in live mode.
- π Bug fixes:
- Fixed image preprocessing for Document Quality Analyzer.
Version 5.2.0 (28 Jun 2024)β
- π New:
- Added support for German health insurance cards (front and back) and European health insurance cards (back only) to
GenericDocumentRecognizer,GenericDocumentRecognizerFrameHandlerandGenericDocumentRecognizerActivityRTU UI screen. HealthInsuranceCardScanner,HealthInsuranceCardScannerFrameHandler, andHealthInsuranceCardScannerActivitywere deprecated. Please useGenericDocumentRecognizer,GenericDocumentRecognizerFrameHandlerandGenericDocumentRecognizerActivityinstead.- Added
ResultAccumulationConfigfor the generic document recognition API. - Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
- Added properties
australiaPostCustomerFormat,useIATA2OF5ChecksumanduseCode11ChecksumtoBarcodeAdditionalParameters,BarcodeScannerAdditionalConfigurationfor RTU UI screen andBarcodeRecognizerConfigurationfor RTU UI v2 screen. - Added
AustraliaPostCustomerFormatenum to represent formats of the barcode data for the Australian Post customer barcode. - Added
resetPolygonState()inBarcodePolygonViewto properly clean its state when disabling it after scanning.
- Added support for German health insurance cards (front and back) and European health insurance cards (back only) to
- π Improvements:
- Changed
resampleflag toresamplingMethod: io.scanbot.pdf.model.ResamplingMethodinPdfConfigclass. - The Generic Document Recognizer and its UI components now use the new Scanbot OCR engine under the hood. In order to scan for generic documents the additional OCR language data bundle is no longer required.
- Improved generic document recognition on static images.
- Improved document detection on booklet documents.
- Improved performance of
DocumentQualityAnalyzer. - Added support for Extended Channel Interpretation (ECI) for Data Matrix and Aztec.
- Improved GS1 string handling with new modes for decoding and validation. See
Gs1Handling. ScanbotCameraXViewnow logs more information throughout its lifecycle (use filter byScanbotCameraXViewtag). Logging is enabled only in the 'debug' builds.- Improved detection of UPC/EAN barcode extensions in live mode.
- The barcode scanner now supports transposed (mirrored/flipped) Aztec barcodes.
- Changed
- π Bug fixes:
- Removed redundant dependency on
io.scanbot:sdk-licenseplate-assetsinsideio.scanbot:sdk-generictext-assets. - Fixed R8 obfuscation config for SDK logging classes.
- Fixed a bug in
ScanbotColorwhere settingisArgbto true, resulted in a wrong color.
- Removed redundant dependency on
- β οΈ Breaking Changes:
- Removed ML assets library for Document Quality Analyzer -
io.scanbot:sdk-docqualityanalyzer-assets:X.X.X. Please useio.scanbot:sdk-multitasktext-assets:X.X.Xinstead. - Removed enum
BarcodeDensity. - Removed property
codeDensityfromBarcodeAdditionalParameters. - Removed enum values
VALIDATEandDECODEfromGs1Handlingand replaced them byDECODE_STRUCTURE,DECODE_FULL,VALIDATE_STRUCTUREandVALIDATE_FULL. - Removed property
sharpnessAcceptanceFactorfromGenericDocumentRecognizerandGenericDocumentRecognizerConfigurationfor RTU UI screen. - Removed redundant fields
barcodeImagePathandbarcodePreviewFramePathfromResultclass in Barcode Scanner RTU UI v2. - Changed
barcodesRegexFilterconfig behavior for Barcode Scanner RTU UI v2. Barcodes are accepted if the barcode data contains the part that matches the regex. - Replaced
standardandvalidationStatusfields withvalidationErrorsin theGS1.Elementclass.
- Removed ML assets library for Document Quality Analyzer -
- π Under the hood:
- Updated 3rd-party libraries:
- added
gs1-syntax-dictionarylib
- added
Version 5.1.2 (27 Jun 2024)β
- π Improvements:
- Improved detection of UPC/EAN barcode extensions in live mode.
- The barcode scanner now supports transposed (mirrored/flipped) Aztec barcodes.
- π Bug fixes:
- Fixes a bug in
ScanbotColorwhere settingisArgbto true, resulted in a wrong color.
- Fixes a bug in
Version 5.1.1 (28 May 2024)β
- π New:
- Added new property
barcodesRegexFiltertoBarcodeRecognizerConfigurationfor Barcode Scanner RTU UI v2 screen. - Added support of the new 'Find and Pick' barcode scanning mode, see
FindAndPickScanningMode. - Added support for continuous scanning in the
BarcodeScannerViewcomposable. - Added new setter
setLiveDetectionParameters(parameters: EhicRecognizerParameters)inHealthInsuranceCardScannerto adjust the scanning process. - Added new setter
setRecognizerParameters(recognizerParameters: EhicRecognizerParameters)inHealthInsuranceCardScannerConfigurationto adjust the scanning process in EHIC scanner RTU UI screen. - Added support for new barcode format
BarcodeFormat.MICRO_PDF_417. - Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- Added property
acceptedBrightnessThresholdtoContourDetectorto control the accepted brightness level for contour detection (same property added toDocumentScannerConfigurationandFinderDocumentScannerConfigurationin RTU UI andContourDetectorFrameHandler). - Added new class
BarcodeTextLocalizationand new propertylocalizationtoBarcodeScannerConfigurationto support localized strings.
- Added new property
- π Improvements:
- The Health Insurance Card Recognizer now implements the new Scanbot OCR engine. The recognition is faster and more accurate than before.
- π Bug fixes:
- Fixed
SoundControllercrash on Android API <= 23. - Fixed
VinScannerConfiguration.setFinderTextHintColor(color)not being applied to the text hint. - Fixed null pointer exception for
PageFileStorageoperations. - Fixed behavior of 'Update' Button in Manual Count Edit Dialog for Barcode Scanner RTU UI v2 screen.
- Fixed
- β οΈ Breaking changes:
- Replaced the class
BarCodeFormattedResultbyGenericDocumentsclass for barcode document parser output. - Added new classes for all the barcode document formats. See the API documentation for more details.
- All
HealthInsuranceCardprefixes in result model class names were replaced withEhic(EhicRecognitionResult,EhicDetectionStatus, etc.). - Deleted deprecated
isLicenseActiveandisLicenseValidfromScanbotSDK. Please uselicenseInfo.isValidinstead. - Renamed
ScanbotPalettetoPalettefor consistency with RTU UI v2 configuration classes. BarcodeExtensionsFilternow accepts EAN and UPC barcodes with extensions only and all other formats without extensions.- Made the property
type: BarcodeFormat?inio.scanbot.sdk.ui_v2.barcode.configuration.BarcodeItemoptional. - Changed the type of numeric parametric filter parameters from Float to Double.
- Changed default UI behavior in Barcode Scanner RTU UI v2. If
BarcodeMappedData.barcodeImageinBarcodeItemMapperis empty - placeholder image will be shown. IfBarcodeMappedData.barcodeImageis set withBarcodeMappedDataExtension.barcodeFormatKeyconstant - the barcode image will be displayed.
- Replaced the class
- π Under the hood:
- Updated 3rd-party libraries:
- libjpeg-turbo to 2.1.5.1
- libpng to 1.6.40
- libtiff to 4.6.0
- added zlib library
- Extracted parts of
ScanbotSDKandScanbotBarcodeScannerSDKAPI to theLicensableSdkandBarcodeScanningSdkinterfaces. - Migrated project to AGP 8.x.
- Added more rules for R8 shrinker to work adequately with AGP >= 8.
- Fixed pro-guard rules for
DocumentQualityAnalyzer. - Added an R8 consumer rule to keep the internals of
io.scanbot.core.processor.ImageProcessorfrom shrinking/obfuscating. - Added
Theme.AppCompat.NoActionBartheme as default for Barcode Scanner RTU UI v2 activity. - Added Consumer Proguard rules for RTU UI v2 modules.
- Updated 3rd-party libraries:
Version 5.0.1 (13 Mar 2024)β
- π Bug fixes:
- Fixed a bug in the Generic Document Scanner which prevented the extraction of the given names as well as the valid from date from a residence permit card.
Version 5.0.0 (1 Mar 2024)β
- π New:
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Use
io.scanbot:rtu-ui-v2-bundlemodule dependency to access the new screen. - Added new
ParametricFiltersinImageProcessorAPI (ScanbotBinarizationFilter,CustomBinarizationFilter,ColorDocumentFilter,BrightnessFilter,ContrastFilter,GrayscaleFilter,WhiteBlackPointFilterandLegacyFilter). - Added support for German residence permits (2011 and 2019 formats) in
GenericDocumentRecognizer. PdfConfigin thePDFWriternow allows setting the jpegQuality for images encoding. The parameter is only used when transcoding images (adding an image from a bitmap, or resample is true). The parameter is ignored when directly embedding JPEG files.- Added
resampleparameter inPdfConfigand extended the meaning of thedpisetting. - Added new constructor parameters
dpi: IntandpageFit: PageFitinPageConfigclass forPDFWriter. - Added
setParametricFilter(parametricFilter: ParametricFilter)method in DocumentScannerConfiguration for DocumentScanner RTU UI screen. - Added support of
minEstimatedNumberOfSymbolsForNoDocumentconfig parameter in DocumentQualityAnalyzer API.
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Use
- π Improvements:
- Optimized speed of the camera preview frames handling for all scanners.
- Optimized memory consumption for PDF rendering with encryption enabled.
- Text detection is faster and more accurate.
- Improved MRZ parser for a stronger rejection of outliers.
- Improved speed and quality of scanning for
GenericDocumentRecognizer. - Changed touch to focus square in
ScanbotCameraXViewto a circle.
- π Bug fixes:
- For
BarcodeFormat.PDF_417, a single case to generate clusters was not covered, which led to a crash. - Fixed potential crash when trying to embed invalid images in a PDF.
- Fixed issue with misaligned document polygon and barcode polygons on some devices with horizontal orientation.
- Fixed drawing of the detected document contour polygon in landscape orientation.
- Fixed NPE in MRZ scanning with optional fields.
- For
- β οΈ Breaking changes:
- Changes in
ImageProcessorAPI:ImageProcessoris not a singleton anymore.- Removed
scanbotSDK.imageProcessor()getter. Call one ofImageProcessorconstructors to create a new instance. - Removed old
process*(List<Operation>)methods andOperationclasses. They are replaced withapplyFilter(),rotate(),crop(),resize()methods inImageProcessor. CallImageProcessor#processedBitmap(),ImageProcessor#encodedProcessedImage(), orImageProcessor#saveProcessedImage(path: String)to get the image result or to write it to a file. ImageFilterTypeenum is deprecated. UseParametricFilterAPI with new filters. Usage of old filters is still available withLegacyFilterwrapper.ImageFilterTuneTypes are no longer supported. The class was deleted.
- Changes in
PageProcessorAPI:PageProcessormethods are also migrated to theParametricFilterAPI.- Added
parametricFilters: List<ParametricFilter>field inPageclass. It will be used in page processing by default. If it's empty, old legacy filter infilter: ImageFilterTypedeprecated field will be used. - Removed
tunesandfilterOrderfields inPageclass.
- Deprecated
setImageFilterType(imageFilterType: ImageFilterType)method in DocumentScannerConfiguration for the DocumentScanner RTU UI screen. - Removed
imageProcessorType(type: ImageProcessor.Type)inScanbotSDKInitializer. - In
TIFFImageWriterParametersconstructor replacedbinarizationFilter: ImageFilterType?parameter withbinarizationFilter: ParametricFilter?. - In
TIFFImageWriterParameters.defaultParametersForBinaryImages()parameters changed the default filter toScanbotBinarizationFilterparametric filter. - Renamed
RSS_14barcode format toDATABARandRSS_EXPANDEDtoDATABAR_EXPANDED. BatchBarcodeScannerActivityclass from RTU UI v1 is now marked as 'Deprecated'.- Removed
BarcodeFormat.CODE_25fromBarcodeFormat.COMMON_CODESlist. ZoomRangecan be created with any input values but will be limited under the hood by internalMIN_ZOOM(x0.2) andMAX_ZOOM(x100) values.
- Changes in
- π Under the hood:
- Added 3rd-party library "libzueci" to dependencies.
- Class
SoundControllerwas renamed toSoundControllerImpland interfaceSoundControllerwas extracted.
Version 4.2.0 (9 Jan 2024)β
- π New:
- Added support for new barcode type
BarcodeFormat.GS1_COMPOSITE. - Added analyzer image size limit property for Document Quality Analyzer. By default, the image will be resized to 2500 px.
- Added support for the Israelian Check standard.
- Added support for new barcode type
- π Improvements:
- Added more control over how to handle GS1 messages in barcodes. See
BarcodeScannerAdditionalConfig.setGs1HandlingMode.
- Added more control over how to handle GS1 messages in barcodes. See
- π Bug fixes:
- Fixed the Camera Preview blinking after capturing a picture.
- β οΈ Breaking Changes:
- The property
enableGS1Decodinghas been replaced by the enumGs1HandlingModeinBarcodeScannerAdditionalConfig. GS1codes are now handled differently for various barcode types. Using the default optionPARSEwill 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, it is needed to choose the optionDECODE.
- The property
Version 4.1.1 (1 Dec 2023)β
- π New:
- Added support for Kuwait ID cards in the MRZ scanner.
- π Bug fixes:
- Fixed an issue with
acceptedSizeScoreconfig parameter forDocumentScannerActivityandFinderDocumentScannerActivityRTU screens.
- Fixed an issue with
- β οΈ Breaking changes:
- Moved
setIgnoreBadAspectRatio()logic fromDocumentAutoSnappingControllertoContourDetectorFrameHandler.
- Moved
Version 4.1.0 (23 Nov 2023)β
- π New:
- Added new feature - Document Quality Analyzer. It analyzes the text quality (legibility) on images.
- Added new supported barcode formats -
BarcodeFormat.USPS_INTELLIGENT_MAIL,BarcodeFormat.ROYAL_MAIL,BarcodeFormat.JAPAN_POST,BarcodeFormat.ROYAL_TNT_POST,BarcodeFormat.AUSTRALIA_POSTandDATABAR_LIMITED.
- π Improvements:
- Improved quality and speed of the Document Contour detector.
- Decreased size of Document Contour detector ML model.
- Removed parameter
forceCpu: BooleanfromImageProcessormethods. - Optimized default and custom preview/picture size selection in the
ScanbotCameraXView. - Optimized
setForceMaxSnappingSize(enabled: Boolean)behavior in theScanbotCameraXView. - Improved pinch-to-zoom gesture in
ScanbotCameraXView. - Added
setLifecycleOwner(lifecycleOwner: LifecycleOwner)method for view controller inDocumentScannerViewandBarcodeScannerViewto improve compatibility with Compose UI.
- π Bug fixes:
- Added
setBarcodeFormatsFilter(barcodeFormat: List<BarcodeFormat>)method inBatchBarcodeScannerConfigurationclass.
- Added
- β οΈ Breaking changes:
- Renamed
OpticalCharacterRecognizer.EngineMode.TLDRtoOpticalCharacterRecognizer.EngineMode.SCANBOT_OCR. - If you are using
setPictureSize(pictureSize: Size),setCameraFrameSize(frameSize: Size)orsetPreviewFrameSize(frameSize: Size), make sure input Size has the correct orientation (fits the view or display size). - All scanner components have been switched to zoom ratio (values 1x, 2x, etc.) instead of linear zoom (from 0 to 1). Methods renamed:
setOpticalZoomRange()->setPhysicalZoomRange();setOpticalZoomLevel()->setPhysicalZoomRatio()inScanbotCameraXView,DocumentScannerView,BarcodeScanAndCountViewandBarcodeScannerView.setPhysicalZoomRange()andsetPhysicalZoomRatio()accept possible zoom values from 0.5x up to 100x. NOTE: if the value sent to the camera is out of range for a specific device's capabilities, then the camera will try to set the max or min possible for that specific device. eg. Zoom 100x will only work on some high-end Samsung devices, whereas other devices will only have 12x-30x max. The same goes for minimum supported values, 0.5x is a wide-format camera module that does not exist on many Android devices. - IMPORTANT! Removed deprecated
BlurEstimatorfeature. UseDocumentQualityAnalyzerinstead.
- Renamed
- π Under the hood:
- Updated version of Nameof C++ library to v0.10.3.
- Disabled GPU acceleration for Redmi 9 models, Samsung Galaxy Grand Prime and devices with Android older than 6.
tip
For additional details about the API, please refer to our API reference documentation.
Version 4.0.0 (26 Oct 2023)β
- π New:
- New and improved document detector with better performance and less memory consumption.
- Added a new Optical Character Recognition engine based on machine learning algorithms that is much faster and less error prone.
- The new OCR engine currently supports all languages with latin letters, there is no need to specify the languages for it. The legacy engine based on Tesseract can still be used for non latin-based languages.
- New PDF renderer for simple PDF and "sandwiched" PDF generation.
- Added support for custom PDF metadata.
- Added support for portrait, landscape and auto page orientation.
- Extended list of supported page sizes (A3, A5, B4, B5, etc.)
- π Improvements:
- With the new ML-based OCR engine the speed of text recognition has increased twofold.
- π Bug fixes:
- Fixed some OOM crashes on low to midrange devices.
- Fixed potential crashes related to native code integration.
- Fixed bug with invisible back button on Document Scanner RTU UI screens when no 'Camera' permission was granted.
- Fixed
EnableCameraButtonTitleandEnableCameraExplanationTextparameters on Batch- and Barcode RTU UI screen configs. - Fixed crash in
GenericTextRecognizeron ARM v7 devices. - Fixed behavior of
ocrResolutionLimitconfiguration inGenericTextRecognizer.
- β οΈ Breaking changes:
- Changed the default OCR engine to the new TLDR OCR engine.
- Tesseract language traindata is no longer needed by default.
ScanbotSDKInitializer#prepareOCRLanguagesBlobs(true)call is not needed for the TLDR OCR engine.- Tesseract engine mode can still be used with customization of OCR config
OpticalCharacterRecognizer#setOcrConfig(ocrConfig: OcrConfig). - Changed signature of
OpticalCharacterRecognizer#recognizeTextWithPdfFromUris()andOpticalCharacterRecognizer#recognizeTextWithPdfFromPages()methods -pageSize: PDFPageSizewas replaced with more detailedpdfConfig: PdfConfigparameter.
- Changed signature of
PDFRenderer#renderDocumentFromImages()andPDFRenderer#renderDocumentFromPages()methods -pageSize: PDFPageSizewas replaced with more detailedpdfConfig: PdfConfigparameter. - Removed
CameraModule.FRONT_MIRRORED.CameraModule.FRONTnow behaves as mirrored mode.
- Changed the default OCR engine to the new TLDR OCR engine.
- π Under the hood:
- Added "libharu" library to dependencies.
- Removed "Android PDF Writer" library from dependencies.
- Upgraded OpenCV version to 4.8.
- Added "icu4c" library to dependencies.
Version 3.0.1 (12 Sep 2023)β
- π Improvements:
- Fixed false positives for Code 39 and Codabar barcodes.
- Fixed potential memory leak in all RTU-UI screens.
Version 3.0.0 (23 Aug 2023)β
- π New:
- New generation of Text Data Scanner component. The quality and speed of scanning has significantly improved.
- Added new component - VIN (Vehicle identification number) scanner.
- MRZ support for td1 long document standard.
- π Improvements:
- Decreased model size and increased speed for Text Data scanner.
- Fixed contour lines detection with ML Based detection.
- It is now possible to color each barcode on the barcode AR overlay. Use
barcodeScannerView.selectionOverlayController.setBarcodeAppearanceDelegate(delegate: BarcodePolygonsView.BarcodeAppearanceDelegate)to manage polygon appearance. - It is now possible to color each barcode on the barcode AR overlay of
BarcodeScanAndCountView. UseBarcodeScanAndCountView.counterOverlayController.setBarcodeAppearanceDelegateto manage polygon appearance. - OCR quality for the Generic Text Line Scanner should be significantly more reliable.
- Reduced the number of barcode detector models from 3 to 2. The model used in Fast mode is now ~20% faster, about the same speed as Fastest mode.
- π Bug fixes:
- Removed conflicting "app_name" string resources from library modules.
- Fixed colors not being applied to fields in RTU UI of Generic Document recognizer.
- Fixed bug for
BarcodePolygonsStaticViewwhere it crashed ifbarcodeItemViewFactoryreturnednullinstead of view. - Before, for certain invalid decodings of QR and MicroQR codes, 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
topBarButtonsColoroption for theMrzScannerActivityandHealthInsuranceCardScannerActivityscreens. - Potential fix for rare crash in ScanbotCameraXView during binding it to lifecycle.
- β οΈ Breaking changes:
- Text Data Scanner no longer requires Tesseract OCR blobs.
- Text Data Scanner (both RTU UI component and classic) no longer accepts
TextFilterStrategyand a set ofLanguageparameters. The code that sets these needs no replacement and can be removed. - Changed the structure of
MRZGenericDocument. Now it contains a document object for MRZ fields, the same as GenericDocument from GenericDocumentRecogniser. UseMRZGenericDocument.document.wrap() as MRZto get exact fields instead of a list of generic fields. - Removed methods from
BarcodePolygonsViewandBarcodeScannerView.selectionOverlayControllerrelated to polygon and text view appearance. E.g.setStrokeColoretc. Please useBarcodeAppearanceDelegateinstead! - Removed methods from
BarcodePolygonsStaticViewandBarcodeScanAndCountView.counterOverlayControllerwhich were related to polygon appearance. E.g.setStrokeColoretc. Please useBarcodeAppearanceDelegateinstead.
- π Under the hood:
- Removed
UNKNOWNbarcode type from the API as it is applicable only for internal use. - Fixed declaration of attributes
polygonStrokeDeclinedColorandpolygonFillDeclinedColor. - Text Data Scanner only depends on Tesseract for license plate scanning. For other purposes, Tesseract was removed.
- Removed
Version 2.3.0 (13 Jul 2023)β
- π New:
- Added support for MicroQR codes.
- Added
setViewFinderEnabledmethod toBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration. This toggles the visibility of the viewfinder. Defaults totrue. - Introduced a scanned barcode confirmation dialog in
BarcodeScannerActivityRTU screen, and a configuration classBarcodeConfirmationDialogConfigurationinBarcodeScannerConfigurationfor modifying dialog UI. - Added Scan and Count of Barcodes feature. Use
BarcodeScanAndCountViewto integrate it into your app. - Introduced a new public interface,
PdfImagesExtractor, for extracting images from PDF files. - Added a new implementation of
PdfImagesExtractorandPdfPagesExtractorbased on the Pdfium library. Add the optional 'io.scanbot:bundle-sdk-pdfium:SDK_VERSION' dependency to use it.
- π Improvements:
- Stripped down the Android dynamic symbol table in native libraries. As a result, the size of the native shared libraries has decreased.
- Improved accuracy and detection speed of QR_CODE, Code39, and Code93 barcode types.
- Added support for inverted PDF-417 barcodes.
- Optimized the size of native libraries integrated into the Scanbot SDK.
- Enhanced error handling behavior when deleting SDK pages.
- Added a flag,
detectFromNv21(..., isLive: Barcode), inScanbotBarcodeDetectorto detect barcodes on NV21 images in the static image mode.
- π Bug fixes:
- Fixed a crash within the barcode detector.
- Corrected a typo in Libraries.txt.
- Fixed detection of a few false-positive RSS_EXPANDED in live mode.
- Fixed a bug causing incorrect (mirrored) preview when
CameraModule.FRONTis set up forScanbotCameraXView. - Fixed the logic in
setAutoSnapProgressEnabledandsetPolygonAutoSnapProgressEnabledmethods inFinderDocumentScannerConfigurationandDocumentScannerConfiguration. - Fixed
TextDataScaner.textDataScannerStepnot applying from JSON configuration. - Fixed incorrect mapping of iOS-only parameter
shutterButtonIndicatorColorinDocumentScannerandFinderDocumentScanner. - Corrected mapping of
userGuidanceStringsJSON configuration forCheckRecognizerConfiguration.
- β οΈ Breaking changes:
- Corrected a typo in the
polygonAutoSnappingProgressStrokeColorattribute name for PolygonView. - API breaking changes in the MRZ scanner result interface:
- Replaced
io.scanbot.mrzscanner.model.MRZRecognitionResultMRZ Scanner result model class withio.scanbot.mrzscanner.model.MRZGenericDocument. - Removed
fields: List<MRZField>list andMRZFieldclass. All detected fields are now stored in thedocument: GenericDocumentfield inMRZGenericDocumentinstance asfields: List<Field>list. - Added
mrzGenericDocument.document.wrap()utility method, which returns a structured object (io.scanbot.genericdocument.entity.MRZ) with MRZ-specific fields for easier access to the detected fields. - Removed
validCheckDigitsCount: Int,checkDigitsCount: Int,rawMrz: String, andcheckDigits: List<MRZCheckDigit>from the resulting model. All this data can be extracted from theGenericDocument. - The
travelDocType: MRZDocumentTypeis now represented by thedocumentType: MRZDocumentTypefield in theMRZGenericDocumentinstance.
- Replaced
- Date fields in the
MRZGenericDocumentresult model now contain an unformatted date string. - Replaced
MRZDocumentTypeclass withMRZGenericDocument.MRZDocumentType. - Removed deprecated
MultipleObjectsDetectorActivityRTU UI screen. - Removed deprecated
MultipleObjectsDetectorandBusinessCardsImageProcessor.
- Corrected a typo in the
- π Under the hood:
- Libraries.txt is now contained only in
package1andpackage2dependencies. - Improved attribute handling to support the generation of a single AAR.
- Blackview and Caterpillar brands are now excluded from GpuAcceleration-supported devices.
- Improved cross-platform parameter handling from the refactored configurations structure.
- Added an OPTIONAL 3rd-party open-source dependency: the Pdfium library (licensed under the Apache License Version 2.0). By default, the Pdfium library is NOT added to the Scanbot SDK dependencies.
- Libraries.txt is now contained only in
Version 2.2.0 (27 Apr 2023)β
- π New:
- Added type
BarcodeFormat.CODE_25that was previously considered as typeINDUSTRIAL_2OF5without checksum. TheINDUSTRIAL_2OF5checksum option is now removed and thus, depending on a valid checksum, we either returnINDUSTRIAL_2OF5orCODE_25. - Added new field settings in
DocumentScannerActivity.Result. It contains the state of the screen options (e.g. autoSnapping, flashEnabled, etc). Since this class implements Parcelable, its instance can be saved and restored for the next scanning session. - A new machine-learning based machine-readable zone recognizer has been introduced.
- Portuguese ID cards (old and new format) can now be recognized by the MRZ scanners.
- Added type
- π Improvements:
- Added
BarcodeItemViewPositionHandlerthat helps to adjust the position of the barcode description view in relation to the polygon contour. - Improved preview quality selection logic for
ScanbotCameraXView. - Improved GenericDocumentRecognizerFrameHandler's
Rectcropping logic when working withFinderOverlayView. - Patient info box recognition has been improved in the medical certificate scanners.
- Stacked RSS barcode scanning has seen substantial improvements.
- Added
- π Bug fixes:
- Fixed a visual glitch with
ScanbotCameraXViewon Xiaomi devices, which happened before the preview started. - Fixed a bug where
ScanbotCameraXViewsometimes threwRejectedExecutionExceptionafter the camera stopped.
- Fixed a visual glitch with
- β οΈ Breaking changes:
- Changed structure of
MedicalCertificateRecognizerResult:McInfoBoxSubTyperenamed toCheckBoxType.MedicalCertificateInfoBoxtype split intoPatientInfoBoxandCheckBox.MedicalCertificateInfoBox.patientInfoFieldsproperty now available asMedicalCertificateInfoBox.patientInfoBox.patientInfoFields.DateRecord.validationConfidenceValueremoved.
- Removed method
ScanbotSDKInitializer.prepareMRZBlobs(). MRZ blobs must now be added as a separate module dependency in Gradle:implementation("io.scanbot:sdk-mrz-assets:<SDK_VERSION>"). - Removed
MRZRecognitionResult.recognizedMRZLinesas it was replaced withMRZRecognitionResult.rawMrz. - Removed parameter
decodeStacks1D. The decoding of stacked barcodes is now handled automatically. FrameHandlerinterface was converted to an abstract class. If you have custom FrameHandlers, please add constructor invocation to your FrameHandler implementation.- Some of the Scanbot SDK artifact IDs have been changed and need to be updated in your
build.gradle'sdependenciesblock:- for users of
io.scanbot:sdk-package-1,-2,-3or-4that use barcode scanning, the dependency ofio.scanbot:sdk-barcode-assetsshould be updated toio.scanbot:bundle-sdk-barcode-assets(NOTE: barcode standalone SDK users do not need to adjust anything in this case:io.scanbot:scanbot-barcode-scanner-sdkand-sdk-uidependencies are to stay as is!) - all users of
io.scanbot:sdk-crypto-persistenceshould change this dependency toio.scanbot:bundle-sdk-crypto-persistence(or toio.scanbot:barcode-sdk-crypto-persistenceif you are using Scanbot Barcode standalone SDK)
- for users of
- Changed structure of
- π Under the hood:
- Enabled
-fstack-protector-allon Android - Removed usage of
backward-cpplibrary. - Removed outdated assets for MRZ detection.
- FrameHandlers won't return the result if
FrameHandler.isEnabledis set tofalseafter actual frame detection. - We now append the
bundle-orbarcode-prefix to almost all of our SDK dependencies' names. The modules that have not been changed are those used by customers:rtu-ui-bundle,scanbot-barcode-scanner-sdk,scanbot-barcode-scanner-sdk-ui,io.scanbot:sdk-package-1,-2,-3and-4modules, all*-assetsmodules. The exception to this are modulesscanbot-barcode-assetsandscanbot-sdk-crypto-persistence: these will have corresponding prefixes from now on, depending on what SDK they are being used for.
- Enabled
Version 2.1.0 (5 Apr 2023)β
- π New:
- Added method
setRequiredAspectRatios()to theDocumentScannerConfigurationthat allows you to specify the aspect ratios of the documents that will be automatically captured.
- Added method
- π Improvements:
- Fixed a bug for RTU-UI screens, when using JSON configuration with iOS string formatting patterns.
- Improved performance and accuracy of machine-readable-zone recognition.
- Improved
FinderOverlayViewbehavior, when UI container is dynamically resized, e.g. on keyboard events, etc. - Added
setForceMaxSnappingQuality(enabled: Boolean)inIScanbotCameraViewinterface (implemented only on ScanbotCameraXView implementation): controls whether the camera should force the maximum possible quality of the snapped picture. As a result, the snapping speed could be significantly slower and the resulting image could be bigger. The default isfalse. - Added
setSnappingAutoAdjustment(enabled: Boolean)inIScanbotCameraView(implemented only on ScanbotCameraXView implementation): controls whether the camera should apply the final image post-processing (e.g., switching to a low-light mode or HDR, applying face retouch, etc.). Implementation of post-processing depends on the vendor's implementation of Camera API. The default isfalse.
- π Bug fixes:
- Fixed
EditPolygonImageViewbug with the coloring of lines on the polygon change. - Fixed Scanbot camera views not resolving
Contextcorrectly if used in Activity/Fragment with Hilt's@AndroidEntryPointannotation. - Fixed Scanbot RTU-UI scanners handling when the app is terminated in the background.
- Fixed a potential memory issue in the check recognizer.
- Fixed
- β οΈ Breaking changes:
FinderAspectRatioandPageAspectRatioclasses are now deprecated and merged intoAspectRatiocommon class. Please useAspectRatioinstead.
- π Under the hood:
- Bump Dagger version to 2.44
- Update Kotlin library to 1.7.10
- Changed the default JPEG compression quality from 95 to 100 for
ScanbotCameraXView. As a result, snapped images will be bigger but with the better quality
Version 2.0.0 (14 Feb 2023)β
- π New:
- Added a new
automaticSelectionEnabledoption toSelectionOverlayConfigurationforBarcodeScannerActivityandBatchBarcodeScannerActivityRTU UI screens
- Added a new
- π Improvements:
- The raw string is returned for RSS Expanded barcodes that don't contain a GS1 string
- Updated
BarcodeScannerAdditionalConfigBuilderwithdecodeStacks1DandcodeDensityparameters - Improved autosnapping animation in
PolygonView - Eliminated the camera preview going black between
stopPreview()andstartPreview()calls inDocumentScannerActivityRTU UI
- π Bug fixes:
- Fixed the
ScanbotCameraXViewinstantiation error in Layout Editor - Fixed the memory leak of CameraManager in
ScanbotCameraXView - Fixed NPE in the
ScanbotCameraXViewwhen thestartPreview()function is called while theScanbotCameraXViewwas detached - Fixed an issue with
InitialScanDelayMsandDelayAfterScanMsoptions not working inBarcodeScannerConfigurationwhenBarcodeImageGenerationType.CAPTURED_IMAGEandBarcodeImageGenerationType.VIDEO_FRAMEoutput generation types were used - Fixed
ScanbotCameraXViewnot working after reattaching to a window
- Fixed the
- β οΈ Breaking changes:
- Removed deprecated
NfcPassportScanner,PayFormScannerandWorkflowsclassical and RTU components together with all their configurations
- Removed deprecated
- π Under the hood:
- Update TensorFlow Lite to 2.10
- Improve allocated memory releasing mechanism for:
- European Health Insurance scanner
- License plate scanner
- Generic document scanner
- Data scanner
- MRZ scanner
- TIFF writer
- Multiple Objects detector
- Blur estimator
- TextOrientationScanner
Version 1.98.0 (11 Jan 2023)β
- π New:
- Added support for two-sided 21b Medical Certificates with new checkbox types. See
McFormType.Form_21a_backandMcInfoBoxSubtype. - Added new parameter
decodeStacks1DinBarcodeScannerAdditionalConfigfor Barcode Scanner. For stacked RSS barcodes, this should be set to the number of stacks with which the barcode was printed.
- Added support for two-sided 21b Medical Certificates with new checkbox types. See
- π Improvements:
- 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 in general
- π Bug fixes:
- Fixed issues with MRZ on Mexican and US passports
- Fixed a crash when applying a filter to single channel images
- Fixed a crash on the detection of Health Insurance cards in some rare cases
- β οΈ Breaking changes:
- Removed
intentionandinsuredPersonTypefields fromMedicalCertificateRecognizerResultInfo - Removed enums
MedicalCertificateInsuredPersonTypeandMedicalCertificateIntention - Renamed
McBoxAccidenttoMcBoxAccidentYesandMcBoxRequiresCaretoMcBoxRequiresCareYesinMcInfoBoxSubtype - Removed
MrzBlobRuntimeExceptionas it cannot occur anymore
- Removed
- π Under the hood:
- Added third-party libraries (backward-cpp v1.6 and magic-enum v0.8.1)
Version 1.97.1 (18 Nov 2022)β
- π Bug fixes:
- Fixed crashes on devices running Android 5 and 6 in some scenarios
- Fixed compatibility with 3rd party obfuscated libraries
- π Under the hood:
- Removed CommonsIo, CommonsCodec and CommonsLang dependencies
- Changed the package name to
io.scanbot.sdk.PUBLISH_ARTIFACT_IDfor the internal obfuscated classes - Improve allocated memory releasing mechanism for Barcode Scanner and Contour Detector
Version 1.97.0 (26 Oct 2022)β
- π New:
- Added
setVibrationEnabled(enable: Boolean)method to enable/disable the vibration feature inio.scanbot.sdk.util.snap.SoundControllerclass. NOTE:android.permission.VIBRATEpermission is required! - Added
bleepResId: IntandbleepUri: Uriparameters to theSoundControllerclass constructors to customize the bleep sound. By default the SDK specific sound will be played. - New barcode types are supported: IATA 2 of 5 and Industrial 2 of 5. Please, note that they are disabled by default. See
BarcodeFormat BarcodePolygonsViewallows visualization of barcode contours when using classical components- Selection overlay layer based on
BarcodePolygonsViewcan be enabled forBarcodeScannerViewviaBarcodeScannerView.selectionOverlayController.setEnabled - Selection overlay can be enabled and configured for ready-to-use UI via
BarcodeScannerConfiguration.setSelectionOverlayConfiguration(...) - New properties
InitialScanDelayMsandDelayAfterScanMsinBarcodeScannerConfigurationallow delaying the initial scan and/or pausing the preview after scanning the barcode
- Added
- π Improvements:
- Improved crops and contours for detected barcodes
- Improved MRZ detection for US passports
- π Bug fixes:
- Fixed a bug with RTU Barcode scanner not being able to produce image of
BarcodeImageGenerationType.CAPTURED_IMAGEwhen an instance ofIBarcodeFilteris set.
- Fixed a bug with RTU Barcode scanner not being able to produce image of
- β οΈ Breaking changes:
- Moved and renamed
io.scanbot.sdk.ui.utils.ScanBeeperclass from the RTU-UI module to the packageio.scanbot.sdk.util.snap.SoundControllerin the basescanbot-sdk-1module.
- Moved and renamed
- π Under the hood:
- For
ScanbotCameraXView- whenCameraOpenCallbackis set - theonCameraOpenedmethod's call was moved later in the lifecycle: now called at the latest point in time when the camera preview is confirmed to be streaming. - Updated third-party libraries: Gson to 2.9.1, CommonsIo to 2.11.0 and CommonsCodec to 1.15
- For
Version 1.96.0 (08 Sep 2022)β
- π Improvements:
- Improved accuracy and performance of the check recognizer.
- π Bug fixes:
- Fixed
ContourDetectorcrash when assembled release with obfuscation on old AGP version.
- Fixed
- π Under the hood:
- Improve layouts for RTU UI screens
Version 1.95.0 (12 Aug 2022)β
- π New:
- Each RTU UI configuration and
ScanbotSDKInitializerclass now containsfromJson(input: String)andmodifyFromJsonConfiguration(<ScreenName>JsonConfiguration)methods allowing to create or edit the configuration classes using JSON input. The format of the JSON string should be compatible with<ScreenName>JsonConfigurationclass - Added new configuration option
codeDensityinBarcodeScannerAdditionalConfigfor Barcode Scanner - Added
codeDensityconfiguration option for Barcode Scanner RTU UI screen
- Each RTU UI configuration and
- π Improvements:
- Added default images for
EditPolygonViewanchors and forMagnifierViewoverlay image in classical components. - Added new insets API for the finder box:
finderInsetsallows setting the finder edge padding from the camera preview edges.safeAreaInsetscan add additional padding to the finder. This is particularly useful when part of the camera preview is covered by another widget (e.g. a navigation bar), thus preventing the finder from appearing behind this widget.
- Added configuration methods to
MedicalCertificateRecognizerConfigurationthat allow configuring the appearance of the medical certificate scanner's finder. Details inMedicalCertificateRecognizerConfigurationAPI reference. - Added an option to force display the user guidance interface when manually snapping documents in
DocumentScannerActivity. UseDocumentScannerConfiguration.setForceUserGuidance(true)to enable this option.
- Added default images for
- π Bug fixes:
- The polygon's background color now displays correctly at the corners of the
PolygonViewin document detector screens - Fixed snapped page filtering in Document Scanner RTU UI screen
- Fixed incorrect preview size calculation after granting permission for legacy
ScanbotCameraView - The system back gesture navigation was fixed on the
CroppingActivityandEditPolygonImageView
- The polygon's background color now displays correctly at the corners of the
- β οΈ Breaking changes:
- Changed the default Camera View to ScanbotCameraXView based on CameraX API in all RTU UI screens
- Removed
EngineMode.Legacysupport for Barcode Scanner ContourDetector'sdetectmethods are now synchronized and return a newDetectionResultentity. It incorporates all data related to contour recognition. Fields that were previously used to obtain this data have been deleted (polygon,polygonF,detectionScore,verticalLines,horizontalLines)DetectionResultclass name changed toDetectionStatussetFinderOffsetdeleted. UsefinderInsetvalues instead
- π Under the hood:
- Updated
compileSdkversion to 31 - Updated Android CameraX version to 1.1.0
- Updated the version of kotlin std library to 1.6.21
- Updated the version of Dagger library to 2.41
- Updated Boost C++ version to 1.79.0
setFinderMinPadding()works onfinderInsetsAPI
- Updated
Version 1.94.0 (13 Jun 2022)β
- π New:
- Added
Fragment.registerForActivityResultOkmethod for calling activity from fragments for subscribing to success result with the new Activity Result API. - Check recognizer:
- Introduced
CheckRecognizerActivityRTU UI for the convenient use of our updated Check Recognizer SDK. - Added
setAcceptedCheckStandards(acceptedCheckStandards: ArrayList<RootDocumentType>)method for Check filtering by standard inCheckRecognizer. By default - empty list (all standards are accepted). - Added
returnImageOnSuccess: Booleanparameter forrecognize(...)andrecognizeWithFinderOverlay(...)methods inCheckRecognizer. By default -false.
- Introduced
- With the new
BarcodeScannerViewandDocumentScannerViewClassical components, the integration of barcode scanning and document scanning with Custom UIs is now even easier!
- Added
- π Improvements:
- Added a cancellation interface for
PdfPagesExtractorcalls. Now you can cancel extracting pages from large PDFs and thus don't need to wait until the end of the process. Look for propertycancelCallback: LongOperationCancelCallbackinsidefun pagesFromPdf(pdfFile, cancelCallback). - Beta: An improved Check Recognizer that now supports further bank layouts from different countries (e.g Kuwait, India, Australia). The recognizer is available as Classic and RTU UI components. Please note that this feature is still in beta. Furthermore, due to the renaming of the feature from "Cheque" to "Check", some classes and API methods have been renamed as well as new classes have been introduced. For more details please see the Breaking Changes.
- Added configuration methods to
MedicalCertificateRecognizerConfigurationthat allows configuring the medical certificate scanner finder appearance. Details inMedicalCertificateRecognizerConfigurationAPI reference. - Fixed an issue with the NFC scanner not working for some devices, e.g. Xiaomi Mi10.
- Improved behavior of FinderOverlayView and its child classes. Now any Finder View can inject other layouts inside itself and these parts would be properly positioned with the finder window changes.
There are 3 customizable parts:
- top - is a zone above the finder window. Can be used for inserting some hints.
- bottom - is a zone below the finder window. Can be used for inserting some hints.
- center - is a zone inside the finder window. Can be used for showing an overlay inside the finder window.
- Added a cancellation interface for
- π Bug fixes:
- Fixed a crash on specific PDF-417 codes with boarding passes.
- Fixed an incorrect mapping of guidance strings for
MedicalCertificateRecognizerActivity. - Fixed a potential crash in
ScanbotCameraXViewwhen taking a picture after the screen was paused.
- β οΈ Breaking changes:
finder_descriptionview id is no longer used to place text views below the finder. Please use new API.- Check recognizer:
- All the Cheque components and packages renamed to Check (
chequescannertocheck). - The ML blobs are now available as a separate library
io.scanbot:sdk-check-assets:$latestSdkVersion. Please make sure to add it to your dependencies to be able to useCheckRecognizer. - The obsolete method
ScanbotSDKInitializer#prepareChequeBlobs(prepareBlobs: Boolean)was removed from the SDK API. CheckRecognizerreturnsCheckRecognizerResultobject with recognized data.
- All the Cheque components and packages renamed to Check (
Version 1.93.0 (07 Apr 2022)β
- π New:
- New checkbox types are now supported for Medical certificates: McBoxRequiresCare, McBoxRequiresCareNo, McBoxAccident, McBoxAccidentNo, McBoxIntention, McBoxOtherAccident.
- π Improvements:
- Huge improvement on the speed and accuracy of 1D barcodes recognition.
- Native libraries size decreased by more than 20%
- If the medical certificate contains a barcode, the information contained in it will be merged with the printed information.
- π Bug fixes:
PDFRenderernow properly handlescontent:\\type uris.- By default, GPU acceleration has been enabled (issues with the Samsung S22 series devices are fixed).
- Fixed crash for calling
TIFFWriterin release build variant version. - Fixed crash for calling
TextOrientationRecognizerin release build variant version. - Fixed camera flash state for
DocumentScannerActivityafter picture is taken in multi-page mode. - Fixed cropped images of 1D barcodes.
- Fixed
Multi-Pagebutton state forMultipleObjectsDetectorActivity.
- β οΈ Breaking changes:
- Moved configuration of page for cropping screen from method to constructor
CroppingConfiguration(page). - Deprecated component
FilterPredictorwas removed. - Deprecated field
MRZCheckDigit.validatedStringwas removed.
- Moved configuration of page for cropping screen from method to constructor
- π Under the hood:
- Updated the version of Leptonica library to 1.82.0
- Updated the version of JSON for Modern C++ library to 3.10.2
- Updated the version of BOOST C++ library to 1.75.0
- Updated the version of OpenCV library to 4.5.3
- Updated the version of Tesseract-ocr library to 4.1.3
- Updated the version of Nameof C++ library to 0.10.1
- Updated the version of LibTIFF library to 4.2.0
- Updated the version of ZXing-C++ library to 1.1.0
- Updated the version of OpenSSL library to 1.1.0h
- Updated the version of XNNPACK library to fb8d1f1b2 git commit
- Updated the version of TensorFlow library to 339ccc2b03 git commit
- Replaced the OpenJPEG library with libjpeg-turbo library 2.1.2
- Added the Skia library of 47b4b19 git commit
- Added the spdlog library of 1.9.2 version
- Document detector and Cropping functionality extracted to separate module rtu-ui-docdetector
Version 1.92.1 (11 Mar 2022)β
- π New:
- Added new property
CroppingConfiguration.setSwapTopBottomButtons()which allows swapping the top and bottom buttons.
- Added new property
- π Bug fixes:
- By default, GPU acceleration has been disabled (due to issues on the Samsung S22 series devices). To enable it, use
ScanbotSDKInitializer().allowGpuAcceleration(true). - Fixed an incorrectly thrown
FileAccessExceptioninScanbotSDKInitializerwhen cleaning deprecated blob files.
- By default, GPU acceleration has been disabled (due to issues on the Samsung S22 series devices). To enable it, use
Version 1.92.0 (23 Feb 2022)β
- π New:
- Introduced
MedicalCertificateRecognizerActivityready-to-use UI for an easy integration of the Medical Certificate Recognizer. - Added a new property
DocumentScannerConfiguration.enableHardwareSnapButtonthat helps to set one hardware button to trigger a manual snap. By default Kotlin usesKeyEvent.KEYCODE_VOLUME_DOWNbut anyKeyEvent.KEYCODEvalue can be set. - Added the possibility to replace the cancel button in most of the RTU UI top toolbars with an icon. Please check the
configuration.setCancelButtonIcon()methods of the RTU configurations. - Added new methods
DocumentScannerConfiguration.setForceMaxSnappingSize()andScanbotCameraXView.setForceMaxSnappingSize()that force the maximum available snapping size and apply the same aspect ratio to the preview. Works only withScanbotCameraXViewor with CameraX enabled in the RTU UI. Disabled by default, thusScanbotCameraXViewshows a preview and makes snaps with an aspect ratio closest to the display's dimensions. - Added support for the GS1 barcode document format, see
Gs1Document. - Added a class
BarcodeDocumentParserto parse a string into a supported barcode document type. - Added a new method
GenericDocumentScannerConfiguration.setExcludedFieldTypes()that can be used to set fields that should be excluded from the scanning process altogether, e.g. for security reasons.
- Introduced
- π Improvements:
- Improved the UX of the
DocumentScannerActivityscreen. Now theSnapFlashViewanimation and the pausing of the preview happens only after the image was captured. Previously it could result in blurry images. - All the date fields returned by
GenericDocumentRecognizernow have aValidationStatus. Fields withValidationStatus = Invalidwill not be shown in the list of fields forGenericDocumentRecognizerActivity. - Mark
ScanDisabilityCertificateWorkflowStepas deprecated in order to replace it with the Medical Certificate ready-to-use scanner screen.
- Improved the UX of the
- β οΈ Breaking changes:
- Fixed applying
DocumentScannerConfiguration.setCameraBackgroundColor()forScanbotCameraXView. - Removed unused parameters
setShouldSavePhotoImageInStorageandsetShouldSaveSignatureImageInStoragefromGenericDocumentRecognizerConfiguration.
- Renamed the feature Disability Certificate Scanner to Medical Certificate Recognizer
- Renamed all related classes and package names with
DCprefix toMedicalCertificateprefix (likeio.scanbot.sdk.dcscanner.DCScannertoio.scanbot.sdk.mcrecognizer.MedicalCertificateRecognizer) - Renamed Medical Certificate recognizer assets library to
sdk-mc-assets - Renamed the class
DisabilityCertificateDocumentin the barcode scanner toMedicalCertificateDocument. All related classes and paths that containDisabilityCertificateare also renamed toMedicalCertificate. - Removed methods
detectAndRecognizeMcJpeg(...)anddetectAndRecognizeMcBitmap(...)fromMedicalCertificateRecognizer. UserecognizeMcJpeg(..., shouldCropDocument: Boolean = true, returnCroppedDocument: Boolean = true, recognizePatientInfo: Boolean = true, recognizeBarcode: Boolean = true)andrecognizeMcBitmap(..., shouldCropDocument = true, ...)instead. - Removed outdated parameters
width: Intandheight: IntinMedicalCertificateRecognizer#recognizeMcJpeg(...) - Replaced the usage of internal class
io.scanbot.mcscanner.model.MedicalCertificateRecognizerResultInfowith publicly available classio.scanbot.sdk.mcrecognizer.entity.MedicalCertificateRecognizerResultin all Medical Certificate classical components
- Renamed all related classes and package names with
- Fixed applying
- π Under the hood:
- Removed the usage of Fragments from all RTU UI screens.
Version 1.91.0 (14 Jan 2022)β
- π New:
- New layouts of German ID cards are now supported
- Added
fun setMinFocusDistanceLock(lock: Boolean)inBarcodeScannerConfigurationandBatchBarcodeScannerConfigurationfor RTU UI screens to lock in the minimum supported camera focus distance (supported only with CameraX) - Added
fun lockMinFocusDistance(lock: Boolean)inIScanbotCameraViewto lock in the minimum supported camera focus distance (supported only with CameraX) - New option
lowPowerMode: BooleaninBarcodeScannerAdditionalConfigurationforBarcodeScannerConfigurationandBatchBarcodeScannerConfigurationfor RTU UI screens andScanbotBarcodeDetectorclassical component
- π Bug fixes:
- Fixed a bug that led to incorrect clearing of the scanned documents in
GenericDocumentRecognizerActivity - Initial flash button state on opening
GenericDocumentScannerscreen will have the same state as was set through the configuration - Fixed an issue when AutoSnapping controllers, that were set up after the camera preview start, were not working
- Fixed a crash in
TextDataScannerActivityon some rare cases while restarting the app from recent apps to this screen
- Fixed a bug that led to incorrect clearing of the scanned documents in
- π Improvements:
- Significantly improved recognition of Aztec barcodes
- Added method
setFinderMinPaddingto theFinderOverlayView, making it possible to change this value programmatically rather than only from XML
Version 1.90.1 (22 Dec 2021)β
- π Improvements:
- Improved robustness and performance of the MRZ scanner
Version 1.90.0 (15 Dec 2021)β
- π New:
- Added Scanbot implementation of AndroidX Activity Result API to every RTU UI activity. See documentation for desired RTU UI component.
- Added properties
textWithExtensionandmetadatatoBarcodeItemto support barcode extensions of UPC and EAN barcodes - The results screen of the
BatchBarcodeScannerActivitynow displaystextWithExtensioninstead oftext - Added new boolean flag
enableNativeLogging(by default - false) inScanbotSDKInitializer#withLogging(useLog: Boolean, enableNativeLogging: Boolean)method - Support for barcode scanner results filtering in RTU-UI barcode scanning components
- Added 2 implementations of
IBarcodeFilterinterface -BarcodeFilterandBarcodeExtensionsFilter - New setters
setBarcodeFilter(barcodeFilter: IBarcodeFilter)inBarcodeScannerConfigurationandBatchBarcodeScannerConfigurationfor RTU UI screens - Added
setPreviewFrameSize(frameSize: Size)andsetAnalyzerFrameSize(frameSize: Size)methods inScanbotCameraXViewfor more flexible camera frame size modifications
- π Bug fixes:
- Fixed a crash in the barcode detector with Legacy engine mode on stable images
- Fix incorrect preview size resolving which caused the impossibility to perform scanning with the legacy ScanbotCameraView on some budget devices
- Fix inconsistent polygon displaying on some horizontally-oriented devices
- Fix photo-saving callback being ignored for NFC Passport Scanner configuration
- π Improvements:
- Improved recognition of small barcodes on large images
- Improved recognition of stacked RSS Expanded (GS1) barcodes
- Improved rectangular DataMatrix performance
- Increased performance on stable images with PDF-417 barcodes
- If the Scanbot SDK is not initialized, RTU UI screens are force closed without the RuntimeException
- β οΈ Breaking changes:
- Renamed
setPreviewSize(previewSize: Size)tosetCameraFrameSize(frameSize: Size)inScanbotCameraXView - Constants
RESULT_LICENSE_INVALID,CANCELLATION_REASON_TIMEOUT,SCANNED_BARCODE_EXTRA,SCANNED_BARCODE_IMAGE_PATH_EXTRA,SCANNED_BARCODE_PREVIEW_FRAME_PATH_EXTRA,SNAPPED_PAGE_EXTRA,EDITED_PAGE_EXTRA,EXTRACTED_FIELDS_EXTRA,WORKFLOW_EXTRA,WORKFLOW_RESULT_EXTRA,SNAPPED_OBJECTS_EXTRAwere deleted. Instead we have implemented AndroidX Activity Result API for RTU UI components. Also - if you prefer to stick with deprecatedstartActivityForResultapproach - we have added utility methods that incapsulate all the verbosity of getting the result entity from the activity's resultBundle. Please see the documentation for the desired RTU UI component.
- IdCardScanner
- Removed deprecated
IdCardScannerand all the classes related to it. Consider usingGenericDocumentRecognizerinstead
- Removed deprecated
- Blur Estimator:
- The ML blobs are now available as a separate library
io.scanbot:sdk-blur-assets:$latestSdkVersion. Please make sure to add it to your dependencies to be able to useBlurEstimator - The obsolete method
ScanbotSDKInitializer#prepareBlurEstimatorBlobs(prepareBlobs: Boolean)was removed from the SDK API.
- The ML blobs are now available as a separate library
- Renamed
- π Under the hood:
- Updated the version of CWAC Camera library to 0.6.42
Version 1.89.1 (30 Nov 2021)β
- π Bug fixes:
- Fixed a bug for when
BatchBarcodeScannerActivityignored the parameter passed tobatchBarcodescannerConfiguration.setCameraModule()
- Fixed a bug for when
Version 1.89.0 (5 Nov 2021)β
- π New:
- Added
allowGpuAcceleration(enable: Boolean)method inScanbotSDKInitializerwhich enables GPU acceleration for TensorFlow ML models - Added
precompileGpuMlModels(precompilingCallback: () -> Unit)method inScanbotSDKInitializerwhich performs GPU ML models precompilation
- Added
- π Bug fixes:
- Fixed a bug in
BatchBarcodeScannerActivityandMultipleObjectsDetectorActivityfor when they don't show the camera preview after the camera permission approval - Fixed a bug when
BarcodeScannerActivitydoes not detect any barcodes with the image generation type VIDEO_FRAME - Fixed possible crash with Barcode Scanner activities after the camera permission request
- Fixed a bug in
- π Under the hood:
- Updated 3rd party libraries used in SDK, see [[Open Source Libraries in Scanbot SDK]]
Version 1.88.0 (13 Oct 2021)β
- π New:
- A new method
forceClose()was added into our RTU UI components allowing to manually finish the RTU UI Screen (Activity) from the calling code - Now it is possible to access the current state of the flashlight using
isFlashEnabledmethod inIScanbotCameraView - Ready to Use UI components now can use CameraX under the hood. Use ScanbotSDKInitializer.useCameraXRtuUi(true) to enable it
startPreview()andstopPreview()methods are available forScanbotCameraXViewas well- A new filter type
PURE_GRAYSCALEis now available for the image processing. It is similar toGRAYSCALE, but without additional contrast and dynamic range optimizations
- A new method
- π Improvements:
- Improved flexibility, speed, and accuracy of the EHIC Scanner (European Health Insurance Cards)
ScanbotCameraXViewnow uses better preview quality by defaultScanbotCameraXViewperformance was optimized
- π Bug fixes:
- Fixed long initialization of
ScanbotCameraXViewon foldable devices
- Fixed long initialization of
- β οΈ Breaking changes:
- HealthInsuranceCardScanner
- The ML blobs are now available as a separate library
io.scanbot:sdk-ehic-assets:$latestSdkVersion. Please make sure to add it to your dependencies to be able to useHealthInsuranceCardScanner recognizeXanddetectAndRecognizeXmethods were merged inrecognizeXsetValidationTypewas removed. Now the country is detected directly from the card- Parameters
widthandheightwere removed fromrecognizeJPEGmethod as redundant - Method
recognizewas renamed torecognizeNv21 - Enum value
FAILED_VALIDATIONwas replaced withINCOMPLETE_VALIDATIONinHealthInsuranceCardDetectionStatus
- The ML blobs are now available as a separate library
- IdCardScanner
- Removed deprecated IdCardScanner RTU screen (
IdCardScannerActivity). Consider usingGenericDocumentRecognizerActivityinstead - Removed deprecated
IdCardScannerConfiguration. Consider usingGenericDocumentRecognizerConfigurationwithGenericDocumentRecognizerActivityinstead
- Removed deprecated IdCardScanner RTU screen (
- HealthInsuranceCardScanner
- π Under the hood:
- Refactored internal architecture of all RTU screens
- Removed RxJava and RxAndroid libraries from RTU dependencies
Version 1.87.1 (15 Sep 2021)β
- π New:
- A new flag
allowXnnpackAccelerationwas added inScanbotSDKInitializerallowing to control whether the XNN pack optimizations should be used (trueby default)
- A new flag
- π Bug fixes:
- Fixed
MSI_PLESSEY_CHECKSUM_ALGORITHMS,STRIP_CHECK_DIGITSandCAMERA_ZOOMparameters being ignored in BatchBarcodeScannerConfiguration
- Fixed
- β οΈ Breaking changes:
- The
corner_radiusattribute of FinderOverlayView was renamed tosbsdk_corner_radius
- The
Version 1.87.0 (3 Sep 2021)β
- π New:
- Added
PdfPagesExtractorclass that can extract pages from a PDF as Sdk'sPage, or convert them to JPEGs and write to a specified Uri. CheckscanbotSdk.createPdfPagesExtractor().
- Added
- π Improvements:
- Improved recognition of the front side of ID cards by
GenericDocumentRecognizer - Improved recognition of UPC/EAN barcodes due to ink spread
- The
resultPointsfield of theBarcodeItemnow contains correct information about the contours of the detected barcodes
- Improved recognition of the front side of ID cards by
- π Bug fixes:
- Fixed a bug with the EHIC recognizer that caused some UTF8 characters to be ignored upon recognition
- Fixed a rotation issue in
ScanbotCameraXView - Fixed incorrect metadata in PDF files generated from encrypted images
- β οΈ Breaking changes:
- Update compile and target SDK of the library to 30
- The
resultPointsfield of theBarcodeItemis no longer nullable
- π Under the hood:
- Updated the version of Android PDF Writer library to 1.0.10
- Bump CameraX version to stable 1.0.1 and CameraX View to 1.0.0-alpha28
Version 1.86.0 (6 Aug 2021)β
- π New:
Pagenow containsPageImageSourceallowing to check if the source image was captured automaticallyPictureCallbacknow contains information if the image was captured automatically- Added a new method
takePicture(acquireFocus: Boolean, isCapturedAutomatically: Boolean)inIScanbotCameraViewwhich should be called withisCapturedAutomatically = truefrom a custom AutoSnappingController - Added method
setAnchorPointColor(@ColorInt color: Int)allowing to change the color of draggable points of the cropping polygon inCroppingActivitycomponent andEditPolygonView - Additional parameter
stripCheckDigits: BooleaninBarcodeScannerAdditionalConfigforBarcodeDetectorclassical component - Additional parameter
stripCheckDigits: BooleaninBarcodeScannerAdditionalConfigurationfor RTU UI screens
- π Improvements:
- Significant performance improvements for all scanners
- Added support of sandwiched PDF (OCR) generation with enabled pages binarization and encryption
- All-zeros MSI Plessey barcodes are ignored now
- Additional
Informationfield in SEPA barcode document type now parsed correctly to match the specification - Memory usage optimizations for DC scanner
- β οΈ Breaking changes:
- The parameter
imageOrientationinPictureCallbackwas replaced toCaptureInfowhich contains the orientation of the image and if it was captured automatically - IMPORTANT! Added
createprefix to names of all the methods inScanbotSDKandScanbotBarcodeScannerSDK, that return new instances of scanners, processors or storages. Methods without this prefix returnSingletonobjects. - IMPORTANT! Classical component
BusinessCardsImageProcessoris no longer singleton! You should get your instance from SDK, configure it and use it as needed. CallingScanbotSDK(this).createBusinessCardsImageProcessor()elsewhere will return a new instance of this component with default config ReferenceandHintfields in SEPA barcode document type were replaced byPurposeandRemittanceto match the specification
- The parameter
- π Under the hood:
- Updated 3rd party libraries used in SDK
Version 1.85.1 (5 Jul 2021)β
- π New:
- Added a new callback in
EditPolygonImageViewallowing to handle the dragging state. SeeEditPolygonDragStateListener
- Added a new callback in
- π Bug fixes:
- Fixed a crash after the license expiration in Classical components
Version 1.85.0 (1 Jul 2021)β
- π New:
- Brand new βNext Generationβ machine-learning-based barcode scanning engine with improved reliability and much faster performance
- Added new config parameter
engineMode: EngineModeinBarcodeScannerConfigforScanbotBarcodeDetector. By defaultScanbotBarcodeDetectorusesEngineMode.NextGenbased on a new ML model - Added new RTU config method
setEngineMode(engineMode: EngineMode)inBarcodeScannerConfiguration. By default -EngineMode.NextGen. - Added the possibility to customize the delay between successful frames for
BatchBarcodeScannerActivity. Default changed from 1000 ms to 0 ms (no delay)
- π Bug fixes:
- Fixed incorrect toolbar color on
NfcPassportScannerActivity
- Fixed incorrect toolbar color on
- β οΈ Breaking changes:
- Removed
disableMlDetectorconfig parameter inBarcodeScannerConfig. UseEngineMode.LegacyFastinstead. - Removed
BarcodeDetectorTypeclass andsetDetectorType()method from Barcode RTU screens. UsesetEngineMode(engineMode: EngineMode)instead. - Removed unused parameters
width: Intandheight: IntfromdetectFromJpeg(jpeg: ByteArray, frameOrientation: Int)method inScanbotBarcodeDetector
- Removed
- π Under the hood:
- New third-party libraries: xsimd, xtl und xtensor (see Third-party Libraries)
Version 1.84.0 (17 Jun 2021)β
- π New:
- Added a new supported barcode format
BarcodeFormat.MSI_PLESSEY. By default MSI-Plessey is disabled, you must explicitly pass it as an accepted type - Additional parameter
msiPlesseyChecksumAlgorithms: EnumSet<MSIPlesseyChecksumAlgorithm>inBarcodeScannerAdditionalConfigforBarcodeDetectorclassical component - Additional parameter
msiPlesseyChecksumAlgorithms: EnumSet<MSIPlesseyChecksumAlgorithm>inBarcodeScannerAdditionalConfigurationfor RTU UI screens - Added new parameter to the
SdkLicenseInfoclasslicenseStatusMessage: String?
- Added a new supported barcode format
- π Improvements:
- More clear default values for user guidance strings on RTU UI screens
- π Bug fixes:
- Fixed a problem with UPC-A barcodes being recognized as EAN13 barcodes
- Moved
BlurEstimatorassets to Package 1
- β οΈ Breaking changes:
- Disability Certificate Scanner:
- The ML blobs are now available as a separated library
io.scanbot:sdk-dc-assets:$latestSdkVersion. Please make sure to add it to your dependencies to be able to useDCScanner. - The obsolete method
ScanbotSDKInitializer#prepareDcBlobs(prepareBlobs: Boolean)was removed from the SDK API. - Added a new type to supported Disability Certificate formats -
DCFormType.Form_1b_Custom
- The ML blobs are now available as a separated library
- IMPORTANT! Classical components
TIFFWriter,MRZScanner,BlurEstimator,PayFormScanner,ChequeScanner,DCScanner,HealthInsuranceCardScannerandMultipleObjectsDetectorare no longer singletons! You should get your instance from SDK, configure it and use it as needed. CallingScanbotSDK(this).<component>()elsewhere will return a new instance of this component with default config - Refactor RTU's
NfcPassportScanningResultentity: make corresponding fields of Int type. - Added new
setValidationType(validationType: HealthInsuranceCardValidationType)method inHealthInsuranceCardScanner - Changed signature of the
handleLicenceStatusErrormethod inIScanbotSDKLicenseErrorHandler. Added additional parametererrorMessage : String - Marked as deprecated
reinitWithValidationType(validationType: HealthInsuranceCardValidationType)method inHealthInsuranceCardScanner
- Disability Certificate Scanner:
Version 1.83.2 (20 May 2021)β
- π Improvements:
- Optimized memory consumption and performance of
GenericDocumentRecognizerandIdCardScanner
- Optimized memory consumption and performance of
Version 1.83.1 (18 May 2021)β
- π Improvements:
- Improve the false positive rate for
GenericDocumentRecognizer
- Improve the false positive rate for
- π Bug fixes:
- Fixed
TiffWriteron 32-bit devices
- Fixed
- π Under the hood:
- Bump Kotlin version to 1.4.20
- Bump CameraX version to stable 1.0.0
Version 1.83.0 (05 May 2021)β
- π New:
- Introduced Generic Document Recognizer which provides the ability to scan various types of documents including German ID Cards, Passports and Driver's licenses. See [[Using Document Data Extractor]]
- π Improvements:
IdCardScanneris now deprecated. Consider usingGenericDocumentRecognizerinstead
- π Bug fixes:
- β οΈ Breaking changes:
- IMPORTANT! Classical component
BlurEstimatoris no longer a singleton! You should get your instance from SDK, configure it and use it as needed. CallingScanbotSDK(this).blurEstimator()elsewhere will return a new instance of this component with default config - IMPORTANT! Classical component
TextOrientationScanneris no longer a singleton! You should get your instance from SDK, configure it and use it as needed. CallingScanbotSDK(this).textOrientationScanner()elsewhere will return a new instance of this component with default config - IMPORTANT! Classical component
IdCardScanneris no longer a singleton! You should get your instance from SDK, configure it and use it as needed. CallingScanbotSDK.idCardScanner()elsewhere will return a new instance of this component with default config - Refactor RTU's
NfcPassportScanningResultentity: make corresponding fields of type Int
- IMPORTANT! Classical component
- π Under the hood:
- Switched from using
org.jetbrains:annotationstoandroidx.annotation:annotation - Improved FinderView behaviour in RTU
BarcodeScannerActivityscreen layout - Updated third-party libraries used in SDK (see Third-party Libraries)
- Switched from using
Version 1.82.0 (21 Apr 2021)β
- π New:
- Added a new option
setOpticalZoomRange(zoomRange: ZoomRange)inIScanbotCameraView - Added two new options
setCameraZoomFactor(zoomFactor: Float)andsetCameraZoomRange(zoomRange: ZoomRange)inBarcodeScannerConfigurationforBarcodeScannerActivityRTU screen - Added
gs1DecodingEnabledparameter inBarcodeScannerAdditionalConfigandBarcodeScannerAdditionalConfigurationto disable the decoding of FNC1 characters in CODE128 barcodes
- Added a new option
- π Improvements:
- Initialization parameters for
AESEncryptedFileIOProcessor(key: SecretKey?,initializationVector: ByteArray,salt: ByteArrayanditerationCount: Int) became public.
- Initialization parameters for
- β οΈ Breaking changes:
- Method
setSignificantShakeDelayinLicensePlateScannerConfigurationas well assignificantShakeDelayfield inTextDataScannerStepare now ofLongtype - Renamed
ImageFilterType.ML_BASED_BINARIZATION(filter for low-contrast documents with heavy shadows) toImageFilterType.SENSITIVE_BINARIZATION
- Method
- π Under the hood:
FilterPredictorinstance is no longer a singleton. Each timeScanbotSDK.filterPredictor()is called a new instance will be created - consider that in your code and stick to using it on a "single instance per screen basis".
Version 1.81.0 (26 Mar 2021)β
- π New:
- Now it is possible to set
ScanbotBarcodeDetectorto scan only the given types ofBarcodeDocumentFormatand filter out others automatically - Added
minimumTextLength,maximumTextLength,minimum1DQuietZoneSizeparams forScanbotBarcodeDetectorasBarcodeScannerAdditionalConfigentity. - Added new method
setBarcodeScannerAdditionalConfigurationfor RTUBarcodeScannerConfigurationto set theminimumTextLength,maximumTextLength,minimum1DQuietZoneSizeparams. - Introduce License Plate Scanner providing ability scan license plates on the vehicles and extract country code and plate number from it
GenericTextRecgonizernow has different strategies for scanning Documents and LCD's- Added a new configuration option
setAcceptedDocumentTypes(acceptedDocumentTypes: List<IdScanResult.DocumentType>)inIdCardScanner - Added a new configuration option
setAcceptedDocumentTypes(acceptedDocumentTypes: List<IdScanResult.DocumentType>)inIdCardScannerConfigurationfor RTUIdCardScannerActivity - Added a new configuration option
setSharpnessAcceptanceFactor(sharpnessAcceptanceFactor: Float)inIdCardScannerConfigurationfor RTUIdCardScannerActivity - Added a new configuration parameter
accessibilityConfigurationforDocumentScannerActivityandCroppingActivityallowing to set hints for the screen reader
- Now it is possible to set