Changelog | Flutter Barcode Scanner
Version 7.1.2 (3 Nov 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:
- 🐞 Bug fixes:
- General:
- Android: Fixed 16 kb page size support for TFLite native library.
- General:
- ⚠️ Breaking changes:
- Barcode Scanner:
- The field
minConfirmationsStandaloneEANinBarcodeAccumulationConfigurationwas moved and renamed to the fieldminimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinBarcodeFormatUpcEanConfiguration. - Renamed some properties and updated type definitions in
VCardandBoardingPassbarcode document models.
- The field
- Barcode Scanner:
- 🚙 Under the hood:
- Upgraded the native Scanbot iOS SDK to v7.1.4.
- Upgraded the native Scanbot Android SDK to v7.1.2.
Version 7.1.1 (25 Sep 2025):
- 🚀 Improvements:
- Barcode Scanner:
- Android: Improved handling of back action with multiple dialogs and bottom sheets.
- General:
- Android: Changed permission on mock camera to
android.permission.READ_EXTERNAL_STORAGE.
- Android: Changed permission on mock camera to
- Barcode Scanner:
- 🐞 Bug fixes:
- Barcode Scanner:
- Android: Fixed an issue where the
extractedDocumentwas not being generated for GS1 HandlingDecodeStructureandDecodeFull. - Android: Fixed an issue where the back button navigation did not work in Barcode Scanner RTU UI v2.
- Android: Fixed an issue where the
- General:
- Android: Fixed an issue with the black preview in ScanbotCameraXView when the camera selected a square resolution on some Samsung and Xiaomi devices.
- Android: Prevent throwing exception when /sys/devices/system/cpu/cpufreq doesn't exist.
- Barcode Scanner:
- 🚙 Under the hood:
- Upgraded the native Scanbot Android SDK to v7.1.1.
- Upgraded the native Scanbot iOS SDK to v7.1.2.
Version 7.1.0 (20 August 2025):
- 🎉 New:
- Barcode Scanner:
BarcodeItemhas new properties:- extendedQuad and extendedQuadNormalized to represent extended quads for 1D barcodes.
- rawBytesEncodings that contains the precise character encoding information of
rawBytes. - structuredAppendInfo for messages split across multiple barcodes.
- globalIndex to identify a barcode across multiple frames. Can be used for live scanning.
BarcodeScannerUiResulthas a new property selectedZoomFactor to retrieve the zoom factor used for the barcode scanning.BarcodeClassicScannerConfigurationhas a new property accumulationConfig which allows the accumulation of barcodes over multiple frames in live mode.- All Barcode AR overlays are now based on
extendedQuads. CameraConfigurationhas new properties:- fpsLimit to limit the rate of detections per second in normal performance mode.
- iOS: hardwareButtonsEnabled to enable zooming using camera control button (iPhone 16 series).
- Added new API mockCamera that allows injecting an image to simulate a video stream to the scanner camera session for UI testing. Check the implementation here.
- General SDK:
- Android:
ScanbotSdkConfighas a new property performanceHintApi which significantly improves multithreading performance on devices that support the Hint Session (e.g. Pixel 9 Pro and Samsung S24 Ultra).
- Android:
- Barcode Scanner:
- 🚀 Improvements:
- Barcode Scanner:
- Boarding pass document parser now supports up to version 8 of the IATA-BCBP standard.
- Improved vCard document parser.
- BarcodeScannerCamera: Added support for individual barcode overlay customization via barcodeItemOverlayViewBinder callback.
- BarcodeScannerCamera: Enhanced onBarcodeTap callback to include a
highlightedparameter. - BarcodeScannerCamera: loadingText can now be customized when
barcodeItemOverlayViewBinderis not null. This parameter is part of theSelectionOverlayScannerConfiguration.
- General:
- 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 for faster multithreading on supported devices (e.g. Pixel 9 Pro, Samsung S24 Ultra).
- Barcode Scanner:
- 🐞 Bug Fixes:
- 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
FNkey asFormattedName. - Android: Fixed handling of the back actions for modal dialogs in the RTU-UI screens.
- PDF Image Extractor:
- iOS: Fixes wrong orientation of extracted images when the PDF page has a transform applied.
- Storage Crypting:
- iOS: Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
- Barcode Scanner:
- ⚠️ Breaking Changes:
- Barcode Scanner:
- Modified several properties in the BoardingPass and VCard models.
- Default value for barcodeItemInfoPosition in
ArOverlayGeneralConfigurationis changed toDISABLED. - BarcodeScannerCamera: Removed
automaticSelectionEnabledproperty fromSelectionOverlayScannerConfiguration. - BarcodeScannerCamera: Renamed
onBarcodeClickedtoonBarcodeTap.
- General:
- Android: Removed
useCameraXproperty fromScanbotSdkConfig.
- Android: Removed
- Barcode Scanner:
- 🚙 Under the Hood:
- Upgraded the native Scanbot Android SDK to v7.1.0.
- Upgraded the native Scanbot iOS SDK to v7.1.0.
- Added flatbuffers 2.0.6.
Version 7.0.0 (2 June 2025):
- 🎉 New:
- 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 advanced configuration of on-image barcode scanning. See more here BarcodeScannerConfiguration.
- Added the ability to configure the Barcode Scanner using the common barcode configuration, see BarcodeFormatCommonConfiguration.
- Added an option to ignore barcodes that do not decode to one of the accepted document formats for
BarcodeScannerConfiguration. See more here: BarcodeScannerConfiguration.onlyAcceptDocuments. - Added new engine modes
NEXT_GEN_FAR_DISTANCEandNEXT_GEN_LOW_POWER_FAR_DISTANCE.NEXT_GEN_FAR_DISTANCEis optimized for scanning from far distances.NEXT_GEN_LOW_POWER_FAR_DISTANCEis optimized for scanning from far on low-power devices.
- Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). See more here: BarcodeFormats.
- Barcode scanning results have been enhanced with more detailed information. See more here: BarcodeItem.
- Added the ability to return the barcode image in the result. See more here: BarcodeScannerConfiguration.returnBarcodeImage.
- Images returned in scanner results are now represented as image references. They can be converted to
Uint8Listor saved in a provided path. See more here: ImageRef. - Introduced
strictModefor certain barcode configurators. If this mode is disabled, it should allow for a higher detection rate in difficult scenarios, but with the possibility that false positive results may occur. Currently, we supportstrictModeforQR_CODE,MICRO_QR_CODE,RMQR_CODE,PDF_417,MICRO_PDF417andGS1_COMPOSITE. - Added
extractImagesFromPdffunction to extract images from PDF files. Returns a list of image paths asList<String>?. - Added
makeImageRefsSnapshotfunction to capture a snapshot of all activeImageRefinstances. ReturnsImageRefPoolSnapshot?with memory usage details. - Added
licenseStatusMessageproperty toSdkLicenseStatus. - Added
PLACE_OF_ISSUEtoCommonFieldTypefor specifying the issuance location of identity cards. - Added property
hardwareButtonsEnabledtoBarcodeCameraConfigurationin Classic component which toggles the original volume button behavior on iOS 17.2 and above. - Added
cameraZoomRangeandminFocusDistanceLockproperties toBarcodeCameraConfigurationin Classic component for configuring zoom range and locking minimum focus distance. - Added
onlyAcceptDocumentsandreturnBarcodeImageproperties toBarcodeClassicScannerConfigurationfor improved document filtering and barcode image output. - Added new customization properties to
SelectionOverlayScannerConfigurationin Classic component:highlightedPolygonColor,highlightedStrokeColor,highlightedTextColor,highlightedTextContainerColor, andstrokeColorfor improved barcode overlay appearance. - Android: Added an option to the RTU-UI Barcode Scanner screen for keeping the screen on.
- Android: Proguard rules needed for Scanbot SDK are embedded in the package. There is no need to manually specify them in your project.
- 🚀 Improvements:
- Improved quiet zone checks for the barcode formats
ITF,CODE_11,MSI_PLESSEY,IATA_2_OF_5,INDUSTRIAL_2_OF_5andCODE_25. - Improved the false positive rate for ITF barcodes.
- Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the recognition of PDF417 barcodes in the Barcode Scanner.
- Improved the Barcode Scanner to better recognize QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved memory management, logging, and deallocation safety for classic component, ensuring cleaner lifecycle handling and preventing potential resource leaks.
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
stripCheckDigits = true.
- Improved quiet zone checks for the barcode formats
- 🐞 Bug fixes:
- Fixed checksum for
CODE_39barcode format. - Fixed the returned results for all types of
UpcEanExtensionBehavior. - Fixed an issue when scanning Code93 barcodes with
stripCheckDigits = false(default), and the check digit was an extension character. - iOS: Fixed processing of still images of an indexed color space model in the Barcode Scanner.
- iOS: Fixed a bug in the AR Barcode Scan and Count where the scanner would be stuck if there was no barcode detected.
- iOS: Fixed a bug in the Barcode Scanner RTU-UI v2 where the flip camera button was not resetting the widest camera available if chosen.
- iOS: Fixed a UI bug in the Barcode Scanner RTU-UI v2 where the sheet button overlapped with the action bar.
- iOS: Fixed an issue in the classic component where quickly stopping and starting the camera session could lead to a crash or unpredictable behavior.
- Android: Fixed an overflow when decoding a
MICRO_QR_CODEbarcode format with wrong bits in numeric mode. - Android: Fixed
minimumTextLengthforITFbarcode format. Before, we used it to check the number of symbols instead of the true text length. - Android: Fixed sorting of quad points for four-state/postal barcode types.
- Android: Fixed quad when flag
BarcodeFormatConfigurationBase.addAdditionalQuietZoneis enabled. - Android: In RTU-UI v2, the modal dialog no longer appears below the status bar.
- Android:
FindAndPickScanningMode.sheetContent.barcodeItemImageVisiblein RTU-UI v2 now correctly applies the visibility setting. - Android: Accessibility content for action buttons in RTU-UI v2 is now properly applied.
- Fixed checksum for
- ⚠️ Breaking Changes:
- Removed RTU-UI v1
startBarcodeScannerandstartBatchBarcodeScannerdeprecated APIs along with all related types. - Removed
detectBarcodesOnImages, merging image-based barcode detection intodetectBarcodesOnImagefor a unified API. - Removed
additionalParametersfromBarcodeClassicScannerConfiguration. - Removed
NONEfromCommonFieldType, as a default value is no longer required. - Changed
barcodeFormatstobarcodeFormatConfigurationsinBarcodeClassicScannerConfiguration, requiring a new structure for specifying barcode types. - Changed
startBarcodeScannermethod's return type fromResultWrapper<BarcodeScannerResult>toResultWrapper<BarcodeScannerUiResult>. initScanbotSdkAPI now returns a result of typeSdkLicenseStatusinstead of a status.- The input parameters and result objects for
detectBarcodesOnImageAPI were changed. See more here: ScanbotBarcodeSdk.detectBarcodesOnImage. - Type literals for
BarcodesExtensionFilter,BarcodeScannerEngineModeandFieldValidationStatushave been modified. - Renamed types
MSIPlesseyChecksumAlgorithmtoMsiPlesseyChecksumAlgorithm,EngineModetoBarcodeScannerEngineMode,Gs1HandlingModetoGs1Handling,ValidationStatustoFieldValidationStatusandBarcodeScannerConfigurationtoBarcodeScannerScreenConfiguration. - Renamed all
CommonFieldTypevalues to follow uppercase and underscore-separated naming for consistency. - Renamed
ValidationStatustoFieldValidationStatusand introduced new validation states (INFERRED,IGNORED). - Changed
Field.validationStatusdefault value fromnulltoFieldValidationStatus.NONE. - Renamed
expirationDatetolicenseExpirationDateandstatustolicenseStatusinSdkLicenseStatus. - Renamed enum
StatustoLicenseStatuswith updated PascalCase values (e.g.,StatusOkay→Okay). - Replaced
shouldReturnCroppedImagewithreturnBarcodeImageinBarcodeClassicScannerConfigurationfor clarity and consistency. - Replaced type
BarcodeTypewithBarcodeFormat. - Replaced property
recognizerConfigurationof typeBarcodeRecognizerConfigurationwithscannerConfigurationof typeCommonBarcodeScannerConfiguration. - Changed
barcodeListenercallback inBarcodeScannerCamerato useList<BarcodeItem>instead ofBarcodeScanningResult. - Changed
errorListenercallback inBarcodeScannerCamerato useSdkLicenseStatusinstead ofSdkLicenseException.
- Removed RTU-UI v1
- 🚙 Under the hood:
- The regex filters are applied for substrings instead of the entire output string.
- Upgraded the native Scanbot iOS SDK to v7.0.2 (cf. changelog).
- Upgraded the native Scanbot Android SDK to v7.0.2 (cf. changelog).
- Updated some third party libraries. see Third-party Libraries.
- Added
ffipackage for interoperability with native code. - Android: Updated Compile Sdk to 35.
- Android: Android Jetpack Compose updated to 1.7.8.
Version 6.1.1 (11 February 2025)
- 🎉 New:
- Added a new optional property
cameraModuleinBarcodeCameraConfigurationfor the Classic Component Barcode Scanner.
- Added a new optional property
- 🚙 Under the hood:
- Changed
json_annotationpackage restriction from 4.8.1 to ^4.8.1.
- Changed
Version 6.1.0 (27 January 2025)
- 🎉 New:
- Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32. Added literals that represent the new barcode types in
BarcodeFormat. - Added a new optional property
addAdditionalQuietZoneinBarcodeAdditionalParameters. The default value isfalse. - Added a new property
accessibilityDescriptioninRoundButtonandButtonConfiguration. - Added a new property
allowEmptySubmissioninMultipleScanningModeto allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2. - Added new optional properties
useIATA2OF5Checksum,useCode11ChecksumandaustraliaPostCustomerFormatinBarcodeScannerConfiguration,BatchBarcodeScannerConfiguration,BarcodeRecognizerConfigurationandBarcodeAdditionalParameters. - Added a new type literal
NONEinCommonFieldTypetype used inGenericDocument. - iOS: Added new zoom control slider controlled by the new camera control button on all view controllers. Available on all the new iPhone 16 models.
- Android: Added support for 16KB page size (Android 15).
- Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32. Added literals that represent the new barcode types in
- 🚀 Improvements:
- Improved detection of
UPCandEANextensions. - Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec barcodes.
- For
CODE_128andITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
- Improved detection of
- 🐞 Bug fixes:
- Fixed KANJI mode for QR codes.
- iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModethat never showed the expected barcodes title, but always the barcode value. - iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModein button sheet mode where the counter badge was not visible. - iOS: Fixed a UI issue on the RTU-UI v2 Barcode Scanner's sheet screen where the subtitle label was being vertically cut off.
- iOS: Fixed a UI issue on the RTU-UI v2 Barcode Scanner's confirmation sheet in the
SingleScanningModewhere the loading indicator was not centered when the loading message was hidden. - iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
- iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner's finder where the background color overlapped with the line color.
- iOS: Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes were displayed along with their non-extended versions.
- iOS: Fixed a bug that did not mirror the front camera as expected.
- iOS: Fixed a crash in scanners when setting the same
minZoomandmaxZoominZoomRange. - Android: Fixed R8 obfuscation config for SDK logging classes.
- Android: Minor fixes for appearance in RTU-UI v2 Barcode Scanner to make it consistent with its iOS counterpart.
- Android: Fixed an issue with AR Overlay and barcode mapping in RTU-UI v2 Barcode Scanner, where the mapped image wasn't shown on the AR Overlay until the same barcode appeared in the list below.
- ⚠️ Breaking Changes:
- Removed duplicate methods
initScanbotSdkandgetLicenseStatusfromscanbot_barcode_sdk_v2.dart. - Renamed the
scanbot_barcode_sdk_v2.dartfile toscanbot_barcode_sdk_ui_v2.dart. - Removed property
codeDensityfromBarcodeScannerConfiguration,BatchBarcodeScannerConfigurationandBarcodeAdditionalParameters. - Removed type literals
VALIDATEandDECODEand replaced them withVALIDATE_STRUCTURE,DECODE_STRUCTURE,VALIDATE_FULLandDECODE_FULLinGs1HandlingMode. - Changed the default values for properties
okButton,cancelButtonandactionButtoninScanbotAlertDialog. - Changed the default values for properties
enableCameraButtonandcloseButtoninCameraPermissionScreen. - Changed the default value for the
visibleproperty in thearOverlayfield ofFindAndPickScanningModetotrue. - Replaced
standardandvalidationStatusfields withvalidationErrorsin theGS1Elementclass. - Android: Changed
barcodesRegexFilterbehavior inBarcodeRecognizerConfigurationforBarcodeScannerConfigurationconfig for RTU-UI v2 Barcode Scanner. Barcodes are accepted if the barcode data contains the part that matches the regex.
- Removed duplicate methods
- 🚙 Under the hood:
- Upgraded the native Scanbot Android SDK to v6.1.1.
- Upgraded the native Scanbot iOS SDK to v6.1.1.
- Added gs1-syntax-dictionary lib.
Version 5.1.0 (27 August 2024)
- 🎉 New:
- Introduced the redesigned RTU UI version 2 for enhanced barcode scanning, featuring advanced agile configuration options. See Ready-to-Use UI for documentation and various use cases.
- Added support for the Micro PDF 417 barcode format.
- Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- Added a new field
shouldReturnCroppedImageinBarcodeClassicScannerConfigurationfor theBarcodeScannerCameraClassic UI. If set totrue, the result will be returned in thebarcodeImageBase64field of theBarcodeItemmodel. - Launched the new
FindAndPickScanningMode.
- 🚀 Improvements:
- Optimized camera preview quality and processing speed for all scanners.
- Improved detection of UPC/EAN barcode extensions in live mode.
- The Barcode Scanner now supports transposed (mirrored/flipped) Aztec barcodes.
- iOS:
- IMPORTANT: Changed the default rear cameras on all scanners to the triple or dual camera. On some devices with triple camera this results in a different view port (more zoomed in). Please make sure to adapt your zoom ranges and factors.
- Added support of haptic feedback on capable devices.
- Android:
- Changed the touch to focus square in the native camera view to a circle.
- 🐞 Bug fixes:
- Fixed issue with misaligned barcode polygons on some devices with horizontal orientation.
- For BarcodeFormat.PDF_417, a single case to generate clusters was not covered, which led to a crash.
- ⚠️ Breaking Changes:
- Deprecated the Ready-to-Use UI v1 Barcode Scanners. Adoption of the RTU UI v2 Barcode Scanner API is strongly recommended.
- Transitioned the format of barcode result structures from record classes to GenericDocument. This adjustment impacts RTU UI v1 but is standardized across both RTU UI v1 and RTU UI v2.
- Renamed
BarcodeFormat.RSS_14toBarcodeFormat.DATABARandBarcodeFormat.RSS_EXPANDEDtoBarcodeFormat.DATABAR_EXPANDED. - Removed
enableNativeLoggingproperty from ScanbotSdkConfig. - Eliminated the LiveDetector and CameraController classes. All corresponding functionalities are now integrated within the widgets themselves.
- Updated widgets to automatically adjust to configuration changes received by the camera widget constructors.
- 🚙 Under the hood:
- Upgraded the native Scanbot iOS SDK to v5.1.3 (cf. changelog).
- Upgraded the native Scanbot Android SDK to v5.1.2 (cf. changelog).
- Updated some third party libraries. see Third-party Libraries
- Android:
- Updated Kotlin to version 1.8.22.
- jvmTarget = "17".
- Updated 3rd-party libraries:
- libjpeg-turbo to 2.1.5.1
- libpng to 1.6.40
- libtiff to 4.6.0
- added zlib library
- iOS:
- Updated 3rd-party libraries:
- zlib to version 1.3.1
- libtiff to 4.6.0
- libjpeg-turbo to 2.1.5.1
- libpng to 1.6.40.
- Updated 3rd-party libraries:
Version 4.2.0 (24 April 2024)
- 🎉 New:
- Added AR Overlay functionality for the Classic Component Barcode Scanner. Please check
BarcodeCameraConfiguration.overlayConfigurationfor more details. - Added new properties to RTU-UI configurations. Please check
BarcodeScannerConfigurationandBatchBarcodeScannerConfigurationfor more details. - Added
GS1_COMPOSITE,MICRO_QR_CODE,USPS_INTELLIGENT_MAIL,ROYAL_MAIL,JAPAN_POST,ROYAL_TNT_POST,AUSTRALIA_POSTandDATABAR_LIMITEDbarcode formats support toBarcodeFormat. - Added
textWithExtensionproperty result inBarcodeItem.
- Added AR Overlay functionality for the Classic Component Barcode Scanner. Please check
- ⚠️ Breaking Changes:
- Changed Android SDK package name. Please change
io.scanbot.barcode.sdk.fluttertoio.scanbot.sdk.flutterinproguard-rules.prorules. - Method
detectOnImageFilewas renamed todetectBarcodesOnImage. - Changed API for detecting barcodes on images. Please check the documentation or example app for more details.
- Removed
BarcodeScannerConfiguration.barcodeImageGenerationTypefor the Classic Component Barcode Scanner.
- Changed Android SDK package name. Please change
- 🚙 Under the hood:
Version 3.6.2 (17 Oct 2023)
- 🐞 Bug fixes:
- iOS: Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
Version 3.6.1 (22 June 2023)
- 🐞 Bug fixes:
- iOS: Resolved an issue that prevented the building of certain classes on iOS Simulators.
Version 3.6.0 (06 June 2023)
- 🎉 New:
- Added
BatchBarcodeScannerConfiguration.overlayConfigurationandBarcodeScannerConfiguration.overlayConfigurationto configure the selection overlay UI. - Added
IATA_2_OF_5,INDUSTRIAL_2_OF_5, andCODE_25barcode formats toBarcodeFormat. - Added a mechanism to properly handle the Classic UI lifecycle when closing the app to the background and reopening it with the scanner open.
- Added a mechanism to properly handle the Classic Barcode Scanner UI lifecycle during navigation of the camera in the stack. Please register
MaterialApp(navigatorObservers: [ScanbotCamera.scanbotSdkRouteObserver])in the app root screen. - Added
stopPreview()andresumePreview()methods insideScanbotCameraController.
- Added
- 🚀 Improvements:
- Improved the behavior of Classic UI components for asynchronous communication with the native SDK.
- ⚠️ Breaking Changes:
- Updated the Flutter environment property to
environment: sdk: '>=2.15.0 <3.0.0'. - Removed the
decodeStacks1Dparameter. The decoding of stacked barcodes is now handled automatically. - Renamed
AcceptedDocumentFormatstoBarcodeDocumentFormat. - Removed
finderMinimumPaddingfromFinderConfiguration. - Renamed the
CameraOrientationModeclass toOrientationLockMode. - Renamed the
FinderInsetsclass toInsets. - Changed the type of the
FinderAspectRatiofields:heightandwidthwere changed frominttodouble. - Changed
NextGenandLegacyengine modes toNEXT_GENandLEGACYinEngineMode. - Moved some code for internal reasons - users might need to update their imports:
package:barcode_scanner/common_data.dartwas moved topackage:barcode_scanner/json/common_data.dart.EngineMode,BarcodeImageGenerationType, andFinderAspectRatiowere moved frompackage:barcode_scanner/barcode_scanning_data.darttopackage:barcode_scanner/json/common_data.dart.
- Updated the Flutter environment property to
- 🚙 Under the hood:
Version 3.2.3 (11 November 2022)
- 🎉 New:
- Added
FinderInsetsclass for setting the barcode view insets from all four sides (left, top, right and bottom). - Added
finderInsetsproperty of typeFinderInsetsinFinderConfigurationclass. - Added
BarcodeDensityenum for expected density of QR codes. A higher density finds more QR codes in an image but the performance is slightly reduced. - Added
codeDensityproperty of typeBarcodeDensityenum inBarcodeAdditionalParameters. - Android: Added
useButtonsAllCapsbool property inBarcodeScannerConfigurationandBatchBarcodeScannerConfigurationfor buttons to be in ALL CAPS. - Android:
useCameraXdefaults totruewhile initialising the Scanbot SDK.
- Added
- ⚠️ Breaking Changes:
- Removed
PORTRAIT_UPSIDE_DOWN,LANDSCAPE_LEFTandLANDSCAPE_RIGHTfromCamereOrientationModeenum.
- Removed
- 🚙 Under the hood
Version 3.2.2 (27 September 2022)
- 🐞 Bug fixes:
- Fixed compatibility issue with Kotlin 1.7.10 (build error)
Version 3.2.1 (24 August 2022)
- 🎉 New:
- Added the ability to replace the cancel button in the top bar with a back arrow icon in
BarcodeScannerandBatchBarcodeScannerRTU-UI (Android only). SeereplaceCancelButtonWithIconinBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration
- Added the ability to replace the cancel button in the top bar with a back arrow icon in
Version 3.2.0 (22 July 2022)
- 🎉 New:
- Introduced Classical Components for Barcode Scanning that allow you to build your own flexible and fully customizable UI for the barcode scanner. Use the classes
BarcodeScannerCamera,BarcodeCameraLiveDetectorandScanbotCameraControllerto build a custom scanner UI.
- Introduced Classical Components for Barcode Scanning that allow you to build your own flexible and fully customizable UI for the barcode scanner. Use the classes
- 🚀 Improvements:
- Improved 1D barcode recognition
- ⚠️ Breaking Changes:
- Renamed parameter
gs1DecodingEnabledtoenableGS1DecodinginBarcodeAdditionalParameters - Renamed Disability Certificate to Medical Certificate:
DisabilityCertificateDocumenthas been renamed toMedicalCertificateDocumentDisabilityCertificateDocumentFieldhas been renamed toMedicalCertificateDocumentFieldDisabilityCertificateDocumentFieldTypehas been renamed toMedicalCertificateDocumentFieldType
- Renamed
AAMVAVersionNumbertoaamvaVersionNumberinAAMVADocument - Renamed
GUIDtoguidinDEMedicalPlanDocument
- Renamed parameter
- 🚙 Under the hood
- Upgraded the native Scanbot Android SDK to v3.2.2 (cf. changelog)
- Upgraded the native Scanbot iOS SDK to v3.2.2 (cf. changelog)
- Updated some third party libraries. see Third-party Libraries
Version 3.1.2 (31 May 2022)
- 🐞 Bug fixes:
- Fixed compatibility issues with Flutter v3.0.1+
Version 3.1.1 (18 March 2022)
- 🐞 Bug fixes:
- Fixed
LicenseExpirationDate: Invalid date format. - By default, GPU acceleration has been disabled (due to issues on the Samsung S22 series devices). To enable it, use
allowGpuAcceleration: trueinScanbotSdkConfig().
- Fixed
- 🚙 Under the hood
- Upgraded the native Scanbot Android SDK to v3.1.2 (cf. changelog)
- Updated some third party libraries. see Third-party Libraries
Version 3.1.0 (4 Feb 2022)
- 🎉 New:
- Added the ability to disable auto-focus by locking the lens at the specified lens position. See
minFocusDistanceinBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration - Android: Added
lowPowerModeinBarcodeScannerAdditionalConfigurationforBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration - Android: Added the ability for Scanbot SDK Core native logging! See
enableNativeLogginginScanbotSDKInitializer
- Added the ability to disable auto-focus by locking the lens at the specified lens position. See
- 🚀 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.
- 🚙 Under the hood
- Upgraded the native Scanbot Android SDK to v3.1.0 (cf. changelog)
- Upgraded the native Scanbot iOS SDK to v3.1.1 (cf. changelog)
- Updated some third party libraries. see Third-party Libraries
Version 3.0.2 (23 Dec 2021)
- 🎉 New:
- Added Document Format filters for Barcode Detection. See
acceptedDocumentFormatsinBarcodeScannerConfiguration,BatchBarcodeScannerConfigurationanddetectFromImageFile - Android: Added support for GPU and Xnnpack acceleration, and the possibility to use the Camera X module! See
allowGpuAcceleration,allowXnnpackAccelerationanduseCameraXRtuUiinScanbotSDKInitializer - Added support for
stripCheckDigitsandmsiPlesseyChecksumAlgorithmsinBarcodeAdditionalParameters
- Added Document Format filters for Barcode Detection. See
- ⚠️ Breaking Changes:
- Renamed parameter
enableGS1Decodingtogs1DecodingEnabledinBarcodeAdditionalParameters - In function
detectFromImageFile,barcodeFormatsparameter is changed from a positional parameter to an optional named parameter
- Renamed parameter
- 🚀 Improvements:
- Significant performance improvements for all scanners
- 🐞 Bug fixes:
- Barcode Scanner RTU-UI now returns
BarcodeScanningResult.canceled()instead of an error, when the user cancels the RTU-UI
- Barcode Scanner RTU-UI now returns
- 🚙 Under the hood
- Upgraded the native Scanbot Android SDK to v3.0.6 (cf. changelog)
- Upgraded the native Scanbot iOS SDK to v3.0.3 (cf. changelog)
- Updated some third party libraries. see Third-party Libraries
Version 3.0.1 (17 Sep 2021)
- 🎉 New:
- iOS: Added support for Apple Silicon M1 simulators. Your app now will run natively on M1 Mac simulators without having to start Xcode in Rosetta 2 mode
- ⚠️ Breaking Changes:
- iOS: The
ScanbotBarcodeScannerSDKCocoaPod now contains an XCFramework instead of a standard framework, you may need to update CocoaPods and/or Xcode
- iOS: The
- 🚙 Under the hood
- Updated the native iOS Barcode Scanbot SDK to 3.0.1
Version 3.0.0 (16 Jul 2021)
- 🎉 New:
- Brand new "Next Generation" machine-learning-based barcode scanning engine with improved reliability and much faster performance
- API changes for the new barcode engine: added
engineModeproperty of typeEngineModeon barcode scanning APIs -BarcodeScannerConfigurationandBatchBarcodeScannerConfigurationto switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used. - Added the new
cameraZoomFactorproperty inBarcodeScannerConfigurationfor configuring the zoom level of the camera. - Encryption for images generated by the SDK. For more details please check out the section "Storage Encryption" of the documentation.
- Added support for MSI Plessey barcodes.
- Added
additionalParametersproperty toBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration, which lets you setup a minimum and maximum text length as well as a quiet zone. Currently works for ITF and MSI Plessey barcodes only.
- 🚙 Under the hood
- Updated the native Android Barcode Scanbot SDK to 3.0.1
- Updated the native iOS Barcode Scanbot SDK to 3.0.0
- ⚠️ Breaking Changes:
- Removed
enableHighSensitivityModeproperty fromBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration, because it is no longer needed
- Removed
Version 1.2.0 (30 Apr 2021)
- 🎉 New:
- Introduced null safety support for the SDK.
- ⚠️ Breaking Changes:
- Because of the null safety support, please check compilation issues and warnings from
flutter analyzecommand - Updated minimum Dart SDK to v2.12.0-0 and Flutter to v2.0.1
- Because of the null safety support, please check compilation issues and warnings from
Version 1.1.0 (10 Feb 2021)
- 🎉 New:
- Batch Barcode Scanner - a new RTU UI screen component to scan multiple barcodes in a row. See the new API function startBatchBarcodeScanner.
- Added a new config property autoCancelTimeout for the Barcode Scanner UI. It provides the possibility to set a timeout value in seconds for auto-closing/cancellation of the Barcode Scanner UI.
- New result field BarcodeItem.rawBytes that contains the raw bytes from the scanned barcode
- ⚠️ Breaking Changes:
- Replaced
finderAspectRatioparameter withfinderWidthandfinderHeightinBarcodeScannerConfiguration
- Replaced
- 🚙 Under the hood:
- Updated the native Android Scanbot Barcode Scanner SDK to 1.3.2
- Updated the native iOS Scanbot Barcode Scanner SDK to 1.8.4
Version 1.0.1 (13 May 2020)
- 🎉 New:
- Improved
pubspec.yaml, adjusted supported platforms.
- Improved
Version 1.0.0 (12 Feb 2020):
- 🎉 First release.
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get free trial license