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 LicenseWhat do you think of this documentation?
What can we do to improve it? Please be as detailed as you like.