scanbot_sdk 5.0.0-alpha4 scanbot_sdk: ^5.0.0-alpha4 copied to clipboard
Flutter plugin of the Scanbot Scanner SDK for Android and iOS. Provides functionality like Document Scanning, QR and Barcode Scanning, PDF Creation, TIFF, OCR, etc.
5.0.0 (12 July 2024) #
- 🚙 Under the hood:
- Updated the native iOS Scanbot SDK to 5.1.3
- Updated the native Android Scanbot SDK to 5.1.2 (cf. changelog)
4.2.2 (12 April 2024) #
- 🐞 Bug fixes:
- iOS:
- Changed privacy manifest to comply with the latest Apple specs.
- iOS:
- 🚙 Under the hood:
- Updated the native iOS Scanbot SDK to 4.2.2 (cf. changelog)
4.2.1 (15 January 2023) #
- 🐞 Bug fixes:
- Fixed unhandled exception in classic camera components when exiting the screen.
- ⚠️ Breaking Changes:
- Changed api for detecting barcodes on images. Please check the documentation or example app for more details.
4.2.0 (15 January 2023) #
- 🎉 New:
- Added support for new barcode type
BarcodeFormat.GS1_COMPOSITE
. - Added analyzer image size limit property for Document Quality Analyzer
analyzeQualityOfDocument(Page page, Size? analyzerImageSizeLimit)
. IfanalyzerImageSizeLimit
not set, the image will be downscaled to 2500 px. - Added support for Kuwait ID cards in the MRZ scanner.
- 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
- ⚠️ Breaking Changes:
- Replaced
BarcodeScannerConfiguration.gs1DecodingEnabled
withBarcodeScannerConfiguration.gs1DecodingMode
in the RTU-UI Barcode Scanner and Batch Barcode Scanner.
- Replaced
- 🐞 Bug fixes:
- Android:
- Fixed the Camera Preview blinking after capturing a picture.
- Android:
- 🚙 Under the hood:
4.1.0 (15 December 2023) #
- 🎉 New:
- Added a new Optical Character Recognition engine based on machine learning algorithms that is usually much faster and less error prone. This 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 PDFs and "sandwiched" PDFs generation.
- Added support for custom PDF metadata.
- Added support for portrait, landscape and auto locks for the page orientation.
- Extended the list of supported page sizes (A3, A5, B4, B5, etc.)
- Added new Document Quality Analyzer. Use
ScanbotSdk.analyzeQualityOfDocument
. - Added new barcode types:
AUSTRALIA_POST
,JAPAN_POST
,ROYAL_MAIL
,ROYAL_TNT_POST
,USPS_INTELLIGENT_MAIL
,DATABAR_LIMITED
. - Added
touchToFocusEnabled
to the RTU-UI scanner configs. - Added
CameraModule.BACK_WIDEST
to thecameraModule
config.
- 🚀 Improvements:
- Improved the document detector with better performance and less memory consumption.
- 🐞 Bug fixes:
- Fixed the behavior of the Barcode Scanner when an empty array is set. Now it scans all barcode types for iOS.
- ⚠️ Breaking Changes:
photoQualityPrioritization
parameter spelling was fixed in the Document Scanner.- Removed
autoCancelTimeout
parameter from the MRZ Scanner. - Removed
ScanbotSdk.estimateBlurOnPage
method. Use the newScanbotSdk.analyzeQualityOfDocument
method instead. - Removed
PdfRenderSize
enum in favor ofPageSize
class. - The default OCR engine has changed from
TESSERACT
toSCANBOT_OCR
. Please useTESSERACT
if you need to recognize non-Latin language texts.
- 🚙 Under the hood:
- Changed the behavior of classic components
cameraZoomFactor
parameter. Now 0..1 maps to the real zoom value in the range 1.0..12.0x on both Android and iOS. - Changed the behavior of the barcode data mapper callback.
- Updated the native iOS Scanbot SDK to 4.1.0 (cf. changelog)
- Updated the native android Scanbot SDK to 4.1.1 (cf. changelog)
- Changed the behavior of classic components
2.13.6 (24 October 2023) #
- 🐞 Bug fixes:
- Fixed a bug where
documentContourListener
was not correctly returningDetectionStatus.OK
whenignoreBadAspectRatio: true
was set.
- Fixed a bug where
2.13.5 (16 October 2023) #
- 🐞 Bug fixes:
- Fixed
ScanbotCroppingWidget
not showing the image whenencryptionEnabled
mode is set.
- Fixed
2.13.4 (13 October 2023) #
- 🚀 Improvements:
- Optimized preview image quality in
ScanbotCroppingWidget
in Android. - Optimized behavior of
DocumentScannerCamera
. When scanning withignoreBadAspectRatio: true
, thedocumentContourListener
won't returnDetectionStatus.OK_BUT_BAD_ASPECT_RATIO
.
- Optimized preview image quality in
2.13.3 (4 October 2023) #
- 🐞 Bug fixes:
- Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
- Fixed an issue that prevented the Batch Barcode screen from starting.
2.13.2 (26 September 2023) #
- 🎉 New:
- Added named parameters
originalImageSizeLimit
anddocumentImageSizeLimit
toScanbotSdk.createPage
,ScanbotSdk.createPageFromBytes
andDocumentClassicScannerConfiguration
that limits page images size to this value. If the image size exceeds the limit, the image will be downscaled to fit the limit. Cropped images will never be bigger than the original images. - Added
ContourConfiguration.showPolygonInManualMode
toDocumentScannerConfiguration
that allows to show/hide polygon contour when auto-snapping is disabled.
- Added named parameters
- 🚀 Improvements:
- Improved behavior of
DocumentScannerCamera
. Now it automatically reacts to the changes ofDocumentClassicScannerConfiguration.autoSnapEnabled
parameter. Hence, you can change this parameter and don't need to callliveDetector.setAutoSnappingEnabled
when changing this state by pressing a button. - Improved behavior of
CroppingController.rotateCw()
andCroppingController.rotateCCW()
. Now the call can be awaited so you can block UI elements during the rotation animation.
- Improved behavior of
- 🐞 Bug fixes:
- Fixed a bug with encryption where
EncryptionParameters.password
had a default empty value which is not correct. Nowpassword
is a required parameter to encrypt the data. - Fixed documentation for
acceptedAngleScore
andacceptedSizeScore
inDocumentClassicScannerConfiguration
. The range changed to 0-100 in percentage values. - Fixed behavior of document contour in
DocumentScannerCamera
. Now it's the same for both platforms. - Fixed
DocumentCameraLiveDetector.documentContourListener
callback. Now it always returns the detection status on iOS. - Fixed crash in iOS when partially filled sub-objects of RTU-UI configurations were set.
- Fixed a bug with encryption where
2.13.1 (20 September 2023) #
- 🐞 Bug fixes:
- Fixed a bug in the RTU-UI Document Scanner due to an issue with config parsing.
2.13.0 (15 August 2023) #
- 🎉 New:
- Added
MICRO_QR_CODE
barcode format toBarcodeFormat
. - Added
onCameraPreviewStarted
callback to custom components to get notified when the camera preview is started. It also runs each time the preview restarts after the picture is taken (Android). - Changed behavior of
onWidgetReady
callback in custom camera components. It is now called when the camera widget is initialized and ready to use. This happens not only once when the widget is created but also when the app returns to the foreground and the user pops to the camera page from another page, ifScanbotCamera.scanbotSdkRouteObserver
is registered. - Added barcode scanning classic component AR overlay feature.
- Added
BarcodeCameraConfiguration.overlayConfiguration
to configure the barcode scanning classic component AR overlay.
- Added
- 🐞 Bug fixes:
- Fixed bug with
ScanbotSdk.refreshImageUris
method on Android. Now it renews uris properly. ScanbotCroppingWidget
now properly reacts to thePage
object changes. If you reassign a new page to the page property (with a new id), it will reset its content and cropping state to the new state.- Fixed a bug when the camera is disabled, the document scanner screen could crash on iOS.
- Fixed bug with
- ⚠️ Breaking Changes:
- Refactored the structure of ALL RTU-UI scanners configuration classes. Please check example app and documentation for more details.
- Refactored the way we process and return the data for the Generic Document Scanner and MRZ Scanner. The structure of the result classes for the both scanners are changed to support the
GenericDocument
structure. Same as the native SDKs. Please check example app and documentation for more details. - Refactored imports structure inside scanbot_sdk. Please replace all scanbot_sdk related imports to
import 'package:scanbot_sdk/scanbot_sdk.dart';
in your code. For imports with the prefixes please useimport 'package:scanbot_sdk/scanbot_sdk.dart' as ScanbotSdk;
. Please check example app and documentation for more details.
- 🚙 Under the hood:
- Default set of params applied for all RTU-UI scanner configs if not specified explicitly.
- Added dart library
dart:collections
v.1.17.1 to the internal usage of scanbot_sdk,json_annotation
dependency updated to 4.8.1,environment:sdk
tool to>=2.17.0 <4.0.0
. - Updated the native iOS Scanbot SDK to 2.3.1-Beta4 (cf. changelog)
- Updated the native android Scanbot SDK to 2.3.0 (cf. changelog)
2.12.1 (9 June 2023) #
- 🐞 Bug fixes:
- Fixed a crash in the iOS Classic components for when the scanners were closed multiple times.
2.12.0 (5 May 2023) #
- 🎉 New:
- Added
IATA_2_OF_5
,INDUSTRIAL_2_OF_5
andCODE_25
barcodes format toBarcodeFormat
.
- Added
- 🚀 Improvements:
- Improved behavior of classic ui components for asynchronous communication with the native SDK.
- ⚠️ Breaking Changes:
- Changed structure of
MedicalCertificateRecognizerResult
:MedicalCertificateInfoBox
type splitted intoMedicalCertificatePatientInfoField
andMedicalCertificateCheckBox
.McPatientInfoField
renamed toMedicalCertificatePatientInfoField
.McInfoBoxSubType
renamed toMedicalCertificateCheckBoxType
.McPatientInfoFieldType
renamed toMedicalCertificatePatientInfoFieldType
.MedicalCertificateInfoBox.patientInfoFields
property now available asMedicalCertificateInfoBox.patientInfoBox.patientInfoFields
.DateRecord.validationConfidenceValue
removed.
- Removed parameter
decodeStacks1D
. The decoding of stacked barcodes is now handled automatically.
- Changed structure of
- 🚙 Under the hood:
2.11.1 (4 Apr 2023) #
- 🚙 Under the hood
- Updated some third party libraries. see Third-party Libraries
- Updated README
2.11.0 (27 March 2023) #
- 🎉 New:
- Introduced Classical Components for the Medical Certificate Scanner that allow you to build your own flexible and fully customizable UI for Scanning German Medical Certificates. Use the classes
MedicalCertificateScannerCamera
andScanbotCameraController
to build a custom document scanner UI. - Added
camera.stopPreview()
andcamera.resumePreview()
methods. - Added mechanism to properly handle classical scanner lifecycle on closing app to the background and back when the scanner is open.
- Added mechanism to properly handle classical scanner lifecycle during the navigation of camera in stack. Please register
MaterialApp(navigatorObservers: [ScanbotCamera.scanbotSdkRouteObserver])
in the app root screen.
- Introduced Classical Components for the Medical Certificate Scanner that allow you to build your own flexible and fully customizable UI for Scanning German Medical Certificates. Use the classes
- 🚙 Under the hood:
2.10.1 (20 January 2023) #
- 🎉 New:
- Introduced Classical Components for Cropping Page that allow you to build your own flexible and fully customizable UI for cropping Page Objects. Use the classes
ScanbotCroppingWidget
andCroppingController
to build a custom cropping UI.
- Introduced Classical Components for Cropping Page that allow you to build your own flexible and fully customizable UI for cropping Page Objects. Use the classes
- ⚠️ Breaking Changes:
- Renamed
DetectionResult
toDetectionStatus
- Renamed
FinderInsets
toInsets
- Renamed
- 🐞 Bug fixes:
- Fixed
enableCameraButtonTitle
andenableCameraExplanationText
in EHIC and MRZ Scanners - Fixed image saving for classical document scanner on android
- Fixed
2.10.0 (17 November 2022) #
- 🎉 New:
- Introduced Classical Components for Document Scanning that allow you to build your own flexible and fully customizable UI for the document scanner. Use the classes
DocumentScannerCamera
,DocumentCameraLiveDetector
, andScanbotCameraController
to build a custom document scanner UI. - Added
GS1
barcode document toBarcodeDocumentFormat
.
- Introduced Classical Components for Document Scanning that allow you to build your own flexible and fully customizable UI for the document scanner. Use the classes
- ⚠️ Breaking Changes:
- Changed file location of Barcode Scanner and Batch Barcode Scanner related classes.
- Renamed
AcceptedDocumentFormat
toBarcodeDocumentFormat
- Renamed
CameraOrientationMode
toOrientationLockMode
- 🚙 Under the hood:
2.9.1 (28 September 2022) #
- 🐞 Bug fixes:
- Fixed compatibility issue with Xcode 14 (build error)
2.9.0 (22 June 2022) #
- 🎉 New:
- Introduced Classical Components for Barcode Scanning that allow you to build your own flexible and fully customizable UI components.
BarcodeScannerCamera
,BarcodeCameraLiveDetector
andScanbotCameraController
to build a custom Barcode and QR-Code scanning.
- Introduced Classical Components for Barcode Scanning that allow you to build your own flexible and fully customizable UI components.
- 🚀 Improvements:
- Improved 1D barcode recognition
- 🚙 Under the hood:
2.8.3 (31 May 2022) #
- 🚀 Improvements:
- Updated README
2.8.2 (31 May 2022) #
- 🐞 Bug fixes:
- Fixed compatibility issues with Flutter v3.0.1+
2.8.1 (16 March 2022) #
- 🐞 Bug fixes:
- Fixed
LicenseExpirationDate
: Invalid date format.
- Fixed
2.8.0 (8 March 2022) #
- 🎉 New:
- Introduced the
Generic Document Recognizer
, providing the ability to scan various types of documents, includingGerman ID cards
,German passports
andGerman driver's licenses
- Added
detectBarcodesOnImages
inScanbotSdk
for detecting barcodes on multiple still images. - Android: Added
useCameraX
inScanbotSdkConfig
. You can now enable CameraX under the hood. - Android: Added
allowXnnpackAcceleration
inScanbotSdkConfig
which allows controlling whether the XNN pack optimizations should be used. - Android: Added
allowGpuAcceleration
inScanbotSdkConfig
which enables GPU acceleration for TensorFlow ML models. - Added the ability to disable auto-focus by locking the lens at the specified lens position. See
minFocusDistance
inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
- Introduced the
- 🚀 Improvements:
- Improved Aztec barcode recognition.
- Improved PDF417 recognition performance on single photos.
- Improved barcode detection on large documents.
- Improved GS-1 databar recognition in the next-gen barcode scanner.
- 🐞 Bug fixes:
- Fixed
LicenseExpirationDate
returning the incorrect time.
- Fixed
- ⚠️ Breaking Changes:
- Renamed
detectBarcodeFromImageFile
parameter todetectBarcodesOnImage
- Renamed
- 🚙 Under the hood:
2.7.0 (3 Dec 2021) #
- 🎉 New:
- Added
createPageFromBytes
function to create a page object without storing a temporary image file outside the SDK - Added support for
AcceptedDocumentFormats
inBarcodeScannerConfiguration
,BatchBarcodeScannerConfiguration
anddetectBarcodeFromImageFile
- Added
- 🚀 Improvements:
- Significant performance improvements for all scanners
- 🚙 Under the hood
- 🐞 Bug fixes:
- Fixed
CroppingResult.error()
return forCroppingResult
object in the page cropping component
- Fixed
2.6.0 #
- 🎉 New:
- Brand new "Next Generation" machine-learning-based barcode scanning engine with improved reliability and much faster performance
- API changes for the new barcode engine: added
engineMode
property of typeEngineMode
on barcode scanning APIs -BarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
to switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used. - Added the new
cameraZoomFactor
property inBarcodeScannerConfiguration
for configuring the zoom level of the camera. - Added support for MSI Plessey barcodes.
- 🚙 Under the hood
- ⚠️ Breaking Changes:
- Removed
enableHighSensitivityMode
property onBarcodeScanner
, because it is no longer needed
- Removed
2.5.0 #
2.4.1 #
- 🐞 Bug fixes:
- iOS: Fixed a mapping issue of the config parameter
flashButtonHidden
in the Document Scanner.
- iOS: Fixed a mapping issue of the config parameter
2.4.0 #
- 🎉 New:
- Add null safety support for the SDK.
- ⚠️ Breaking Changes:
- Due to null safety support update please follow compilation issues and warnings from 'flutter analyze' command
- Updated minimum dart sdk to
2.12.0-0
and flutter to2.0.1
2.3.0 #
- 🎉 New:
- Encryption for images, PDF, and TIFF files, generated by the SDK. For more details please check out the section "Storage Encryption" of the documentation.
- Blur estimation feature. See the new API function
estimateBlurOnPage
.
- 🐞 Bug fixes:
- iOS: Multiple UI fixes for barcode scanners.
- 🚙 Under the hood:
2.2.2 #
- ⚠️ Breaking Changes:
- Android compileSdkVersion is set to 30
- Increase flutter min support version to 1.22.6
- 🐞 Bug fixes:
- Fix compilation for compileSdkVersion 30 for android
2.2.1 #
- 🐞 Bug fixes:
- Added missing permission text properties
enableCameraButtonTitle
andenableCameraExplanationText
toDocumentScannerConfiguration
- Added missing permission text properties
2.2.0 #
- 🎉 New:
- Batch Barcode Scanner - a new RTU UI screen component to scan multiple barcodes in a row.
See the new API function
startBatchBarcodeScanner
. - Added barcode detection from still images, see
detectBarcodeFromImageFile
. - New result field
BarcodeItem.rawBytes
that contains the raw bytes from the scanned barcode.
- Batch Barcode Scanner - a new RTU UI screen component to scan multiple barcodes in a row.
See the new API function
- ⚠️ Breaking Changes:
- Replaced
finderAspectRatio
parameter withfinderWidth
andfinderHeight
inBarcodeScannerConfiguration
andMrzScannerConfiguration
.
- Replaced
- 🚙 Under the hood:
2.1.0 #
- 🐞 Bug fixes:
- iOS: Introduced a new API method
refreshImageUris(pages)
to fix image file paths after app updates. For more details please check out the section "Persistence of Page Objects" of the documentation. - iOS: Fixed de-/serialization of the property
Page.detectionStatus
.
- iOS: Introduced a new API method
2.0.1 #
- 🚀 Improvements:
- iOS: Swift 5 support
2.0.0 #
- 🎉 New:
- A new Machine Learning based approach for document detection. See the new SDK initialization parameter
documentDetectorMode
. - Barcode Scanner: Added barcode data parsers for several document types. See the new result field
BarcodeItem.formattedResult
as well as the corresponding implementations ofBarcodeFormattedResult
.
- A new Machine Learning based approach for document detection. See the new SDK initialization parameter
- 🚀 Improvements:
- Android: Some big improvements in the Document Scanner UI that make document scanning perform better and much smoother. Increased start-up time of the camera preview. Faster saving of the snapped pages. Optimized performance of the image processing for simple operations (rotate, crop, resize).
- Barcode Scanner: Multi-barcode scan support!
- ⚠️ Breaking Changes:
- Android: Migrated to Android embedding v2
- Android: Raised
minSdkVersion
to21
- iOS: Dropped support for iOS 9 and iOS 10!
- 🚙 Under the hood:
1.1.4 #
- 🚀 Improvements:
- iOS: Changed presenter logic for all Scanbot SDK RTU UI screens.
1.1.3 #
- 🐞 Bug fixes:
- iOS: Fixed a mapping issue of the config parameter
doneButtonTitle
in Cropping UI.
- iOS: Fixed a mapping issue of the config parameter
1.1.2 #
- 🚀 Improvements:
OperationResult.CANCELED
when the user pressescancel
in any Scanbot UI screen component.
1.1.1 #
- 🐞 Bug fixes:
- Android: Fixed a bug with mappings of OCR language data files
(
zh-Hans
andzh-Hant
tochi_sim.traineddata
andchi_tra.traineddata
).
- Android: Fixed a bug with mappings of OCR language data files
(
1.1.0 #
- 🎉 New:
- Added further TIFF options
dpi
andcompression
. SeecreateTiff(pages, options)
.
- Added further TIFF options
- 🚀 Improvements:
- Improved OCR API. The OCR results contain now bounding boxes and values of recognized words, lines and paragraphs.
See the API docs of
OcrResult.pages
for more details.
- Improved OCR API. The OCR results contain now bounding boxes and values of recognized words, lines and paragraphs.
See the API docs of
- 🐞 Bug fixes:
- iOS: Fixed file URI handling in the native implementation of the
createPage()
method.
- iOS: Fixed file URI handling in the native implementation of the
1.0.0 #
- 🎉 First release
0.9.0-beta.7 #
- Beta version
0.9.0-beta.6 #
- First beta version