Changelog | Flutter Barcode Scanner
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_DISTANCE
andNEXT_GEN_LOW_POWER_FAR_DISTANCE
.NEXT_GEN_FAR_DISTANCE
is optimized for scanning from far distances.NEXT_GEN_LOW_POWER_FAR_DISTANCE
is 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
Uint8List
or saved in a provided path. See more here: ImageRef. - Introduced
strictMode
for 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 supportstrictMode
forQR_CODE
,MICRO_QR_CODE
,RMQR_CODE
,PDF_417
,MICRO_PDF417
andGS1_COMPOSITE
. - Added
extractImagesFromPdf
function to extract images from PDF files. Returns a list of image paths asList<String>?
. - Added
makeImageRefsSnapshot
function to capture a snapshot of all activeImageRef
instances. ReturnsImageRefPoolSnapshot?
with memory usage details. - Added
licenseStatusMessage
property toSdkLicenseStatus
. - Added
PLACE_OF_ISSUE
toCommonFieldType
for specifying the issuance location of identity cards. - Added property
hardwareButtonsEnabled
toBarcodeCameraConfiguration
in Classic component which toggles the original volume button behavior on iOS 17.2 and above. - Added
cameraZoomRange
andminFocusDistanceLock
properties toBarcodeCameraConfiguration
in Classic component for configuring zoom range and locking minimum focus distance. - Added
onlyAcceptDocuments
andreturnBarcodeImage
properties toBarcodeClassicScannerConfiguration
for improved document filtering and barcode image output. - Added new customization properties to
SelectionOverlayScannerConfiguration
in Classic component:highlightedPolygonColor
,highlightedStrokeColor
,highlightedTextColor
,highlightedTextContainerColor
, andstrokeColor
for 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_5
andCODE_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_39
barcode 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_CODE
barcode format with wrong bits in numeric mode. - Android: Fixed
minimumTextLength
forITF
barcode 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.addAdditionalQuietZone
is enabled. - Android: In RTU-UI v2, the modal dialog no longer appears below the status bar.
- Android:
FindAndPickScanningMode.sheetContent.barcodeItemImageVisible
in 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
startBarcodeScanner
andstartBatchBarcodeScanner
deprecated APIs along with all related types. - Removed
detectBarcodesOnImages
, merging image-based barcode detection intodetectBarcodesOnImage
for a unified API. - Removed
additionalParameters
fromBarcodeClassicScannerConfiguration
. - Removed
NONE
fromCommonFieldType
, as a default value is no longer required. - Changed
barcodeFormats
tobarcodeFormatConfigurations
inBarcodeClassicScannerConfiguration
, requiring a new structure for specifying barcode types. - Changed
startBarcodeScanner
method's return type fromResultWrapper<BarcodeScannerResult>
toResultWrapper<BarcodeScannerUiResult>
. initScanbotSdk
API now returns a result of typeSdkLicenseStatus
instead of a status.- The input parameters and result objects for
detectBarcodesOnImage
API were changed. See more here: ScanbotBarcodeSdk.detectBarcodesOnImage. - Type literals for
BarcodesExtensionFilter
,BarcodeScannerEngineMode
andFieldValidationStatus
have been modified. - Renamed types
MSIPlesseyChecksumAlgorithm
toMsiPlesseyChecksumAlgorithm
,EngineMode
toBarcodeScannerEngineMode
,Gs1HandlingMode
toGs1Handling
,ValidationStatus
toFieldValidationStatus
andBarcodeScannerConfiguration
toBarcodeScannerScreenConfiguration
. - Renamed all
CommonFieldType
values to follow uppercase and underscore-separated naming for consistency. - Renamed
ValidationStatus
toFieldValidationStatus
and introduced new validation states (INFERRED
,IGNORED
). - Changed
Field.validationStatus
default value fromnull
toFieldValidationStatus.NONE
. - Renamed
expirationDate
tolicenseExpirationDate
andstatus
tolicenseStatus
inSdkLicenseStatus
. - Renamed enum
Status
toLicenseStatus
with updated PascalCase values (e.g.,StatusOkay
→Okay
). - Replaced
shouldReturnCroppedImage
withreturnBarcodeImage
inBarcodeClassicScannerConfiguration
for clarity and consistency. - Replaced type
BarcodeType
withBarcodeFormat
. - Replaced property
recognizerConfiguration
of typeBarcodeRecognizerConfiguration
withscannerConfiguration
of typeCommonBarcodeScannerConfiguration
. - Changed
barcodeListener
callback inBarcodeScannerCamera
to useList<BarcodeItem>
instead ofBarcodeScanningResult
. - Changed
errorListener
callback inBarcodeScannerCamera
to useSdkLicenseStatus
instead 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
ffi
package 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
cameraModule
inBarcodeCameraConfiguration
for the Classic Component Barcode Scanner.
- Added a new optional property
- 🚙 Under the hood:
- Changed
json_annotation
package 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
addAdditionalQuietZone
inBarcodeAdditionalParameters
. The default value isfalse
. - Added a new property
accessibilityDescription
inRoundButton
andButtonConfiguration
. - Added a new property
allowEmptySubmission
inMultipleScanningMode
to allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2. - Added new optional properties
useIATA2OF5Checksum
,useCode11Checksum
andaustraliaPostCustomerFormat
inBarcodeScannerConfiguration
,BatchBarcodeScannerConfiguration
,BarcodeRecognizerConfiguration
andBarcodeAdditionalParameters
. - Added a new type literal
NONE
inCommonFieldType
type 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
UPC
andEAN
extensions. - Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec barcodes.
- For
CODE_128
andITF
, 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
FindAndPickScanningMode
that never showed the expected barcodes title, but always the barcode value. - iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningMode
in 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
SingleScanningMode
where 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
minZoom
andmaxZoom
inZoomRange
. - 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
initScanbotSdk
andgetLicenseStatus
fromscanbot_barcode_sdk_v2.dart
. - Renamed the
scanbot_barcode_sdk_v2.dart
file toscanbot_barcode_sdk_ui_v2.dart
. - Removed property
codeDensity
fromBarcodeScannerConfiguration
,BatchBarcodeScannerConfiguration
andBarcodeAdditionalParameters
. - Removed type literals
VALIDATE
andDECODE
and replaced them withVALIDATE_STRUCTURE
,DECODE_STRUCTURE
,VALIDATE_FULL
andDECODE_FULL
inGs1HandlingMode
. - Changed the default values for properties
okButton
,cancelButton
andactionButton
inScanbotAlertDialog
. - Changed the default values for properties
enableCameraButton
andcloseButton
inCameraPermissionScreen
. - Changed the default value for the
visible
property in thearOverlay
field ofFindAndPickScanningMode
totrue
. - Replaced
standard
andvalidationStatus
fields withvalidationErrors
in theGS1Element
class. - Android: Changed
barcodesRegexFilter
behavior inBarcodeRecognizerConfiguration
forBarcodeScannerConfiguration
config 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
shouldReturnCroppedImage
inBarcodeClassicScannerConfiguration
for theBarcodeScannerCamera
Classic UI. If set totrue
, the result will be returned in thebarcodeImageBase64
field of theBarcodeItem
model. - 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_14
toBarcodeFormat.DATABAR
andBarcodeFormat.RSS_EXPANDED
toBarcodeFormat.DATABAR_EXPANDED
. - Removed
enableNativeLogging
property 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.overlayConfiguration
for more details. - Added new properties to RTU-UI configurations. Please check
BarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
for more details. - Added
GS1_COMPOSITE
,MICRO_QR_CODE
,USPS_INTELLIGENT_MAIL
,ROYAL_MAIL
,JAPAN_POST
,ROYAL_TNT_POST
,AUSTRALIA_POST
andDATABAR_LIMITED
barcode formats support toBarcodeFormat
. - Added
textWithExtension
property 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.flutter
toio.scanbot.sdk.flutter
inproguard-rules.pro
rules. - Method
detectOnImageFile
was renamed todetectBarcodesOnImage
. - Changed API for detecting barcodes on images. Please check the documentation or example app for more details.
- Removed
BarcodeScannerConfiguration.barcodeImageGenerationType
for 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.overlayConfiguration
andBarcodeScannerConfiguration.overlayConfiguration
to configure the selection overlay UI. - Added
IATA_2_OF_5
,INDUSTRIAL_2_OF_5
, andCODE_25
barcode 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
decodeStacks1D
parameter. The decoding of stacked barcodes is now handled automatically. - Renamed
AcceptedDocumentFormats
toBarcodeDocumentFormat
. - Removed
finderMinimumPadding
fromFinderConfiguration
. - Renamed the
CameraOrientationMode
class toOrientationLockMode
. - Renamed the
FinderInsets
class toInsets
. - Changed the type of the
FinderAspectRatio
fields:height
andwidth
were changed fromint
todouble
. - Changed
NextGen
andLegacy
engine modes toNEXT_GEN
andLEGACY
inEngineMode
. - Moved some code for internal reasons - users might need to update their imports:
package:barcode_scanner/common_data.dart
was moved topackage:barcode_scanner/json/common_data.dart
.EngineMode
,BarcodeImageGenerationType
, andFinderAspectRatio
were moved frompackage:barcode_scanner/barcode_scanning_data.dart
topackage:barcode_scanner/json/common_data.dart
.
- Updated the Flutter environment property to
- 🚙 Under the hood:
Version 3.2.3 (11 November 2022)
- 🎉 New:
- Added
FinderInsets
class for setting the barcode view insets from all four sides (left, top, right and bottom). - Added
finderInsets
property of typeFinderInsets
inFinderConfiguration
class. - Added
BarcodeDensity
enum for expected density of QR codes. A higher density finds more QR codes in an image but the performance is slightly reduced. - Added
codeDensity
property of typeBarcodeDensity
enum inBarcodeAdditionalParameters
. - Android: Added
useButtonsAllCaps
bool property inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
for buttons to be in ALL CAPS. - Android:
useCameraX
defaults totrue
while initialising the Scanbot SDK.
- Added
- ⚠️ Breaking Changes:
- Removed
PORTRAIT_UPSIDE_DOWN
,LANDSCAPE_LEFT
andLANDSCAPE_RIGHT
fromCamereOrientationMode
enum.
- 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
BarcodeScanner
andBatchBarcodeScanner
RTU-UI (Android only). SeereplaceCancelButtonWithIcon
inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
- 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
,BarcodeCameraLiveDetector
andScanbotCameraController
to 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
gs1DecodingEnabled
toenableGS1Decoding
inBarcodeAdditionalParameters
- Renamed Disability Certificate to Medical Certificate:
DisabilityCertificateDocument
has been renamed toMedicalCertificateDocument
DisabilityCertificateDocumentField
has been renamed toMedicalCertificateDocumentField
DisabilityCertificateDocumentFieldType
has been renamed toMedicalCertificateDocumentFieldType
- Renamed
AAMVAVersionNumber
toaamvaVersionNumber
inAAMVADocument
- Renamed
GUID
toguid
inDEMedicalPlanDocument
- 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: true
inScanbotSdkConfig()
.
- 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
minFocusDistance
inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
- Android: Added
lowPowerMode
inBarcodeScannerAdditionalConfiguration
forBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
- Android: Added the ability for Scanbot SDK Core native logging! See
enableNativeLogging
inScanbotSDKInitializer
- 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
acceptedDocumentFormats
inBarcodeScannerConfiguration
,BatchBarcodeScannerConfiguration
anddetectFromImageFile
- Android: Added support for GPU and Xnnpack acceleration, and the possibility to use the Camera X module! See
allowGpuAcceleration
,allowXnnpackAcceleration
anduseCameraXRtuUi
inScanbotSDKInitializer
- Added support for
stripCheckDigits
andmsiPlesseyChecksumAlgorithms
inBarcodeAdditionalParameters
- Added Document Format filters for Barcode Detection. See
- ⚠️ Breaking Changes:
- Renamed parameter
enableGS1Decoding
togs1DecodingEnabled
inBarcodeAdditionalParameters
- In function
detectFromImageFile
,barcodeFormats
parameter 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
ScanbotBarcodeScannerSDK
CocoaPod 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
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. - 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
additionalParameters
property toBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
, 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
enableHighSensitivityMode
property fromBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
, 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 analyze
command - 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
finderAspectRatio
parameter withfinderWidth
andfinderHeight
inBarcodeScannerConfiguration
- 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 your free Trial License