Changelog | Capacitor Barcode Scanner
tip
For additional details about the API, please refer to our API reference documentation.
Version 7.0.0 (30 May 2025):
- 🎉 New:
- Added support of new barcode formats that are used in the pharmaceutical industry:
PHARMA_CODE
,PHARMA_CODE_TWO_TRACK
,PZN8
(Pharmazentralnummer) andPZN7
. - Added support of a new barcode document format
HIBC
. - Added an advanced configuration of Barcode Scanner for RTU-UI screens and for still image recognition. See more here BarcodeScannerScreenConfiguration and 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 lists of predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. Old predefined sets of barcode formats were removed. See more here: BarcodeFormats.
- Introduced a new barcode item object to better represent barcode results. See more here: BarcodeItem.
- Added the ability to return the barcode image in the result using the new
returnBarcodeImage
property. See more here: BarcodeScannerConfiguration.returnBarcodeImage. - Images returned in scanner results are now represented as image references. They can be converted to base64 or saved in a provided path. See more here: ImageRef.
- Introduced a boolean
strictMode
for certain barcode configurations. 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
. - Android: Added an option to the RTU-UI v2 Barcode Scanner screen for keeping the screen on. Use
BarcodeScannerScreenConfiguration.keepScreenOn
to control this function.
- Added support of new barcode formats that are used in the pharmaceutical industry:
- 🚀 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
. - 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).
- By default, Code93 now includes check digits in the result. To disable this and restore the previous behavior, set
stripCheckDigits = true
. - More robust
QR
code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artisticQR
codes. QR
codes with non-square finder patterns andQR
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
,JAPAN_POST
,ROYAL_MAIL
,ROYAL_TNT_POST
,USPS_INTELLIGENT_MAIL
).
- 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 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: RTU-UI v2: Fixed a bug in the Barcode Scanner RTU-UI where the flip camera button was not resetting the widest camera available if chosen.
- iOS: RTU-UI v2: Fixed a UI bug in the Barcode Scanner RTU-UI where the sheet button overlapped with the action bar.
- 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: RTU-UI v2: The modal dialog no longer appears below the status bar.
- Android: RTU-UI v2: Fixed an issue where
FindAndPickScanningMode.sheetContent.barcodeItemImageVisible
was not properly applied. - Android: RTU-UI v2: fixed accessibility content for action buttons.
- Fixed checksum for
- ⚠️ Breaking Changes:
- No need for specific import from
capacitor-plugin-scanbot-barcode-scanner-sdk/ui_v2
. Everything should be imported from the defaultcapacitor-plugin-scanbot-barcode-scanner-sdk
path. - Removed
startBarcodeScanner
,closeBarcodeScanner
,startBatchBarcodeScanner
andcloseBatchBarcodeScanner
deprecated APIs along with all related types. startBarcodeScanner
API is part ofScanbotBarcodeSDK
object. The input configuration and result objects are changed. See more here: ScanbotBarcodeSDK.startBarcodeScanner.initializeSdk
API now returns a result of typeLicenceInfoResult
instead of a status.- The input parameters and result objects for
detectBarcodesOnImage
API were changed. See more here: ScanbotBarcodeSDK.detectBarcodesOnImage. - Only the results from the RTU-UI APIs are wrapped with ResultWrapper, all other results are sent directly without being wrapped with ResultWrapper.
- Type literals for
UpcEanExtensionBehavior
,BarcodeScannerEngineMode
andFieldValidationStatus
have been modified. - Replaced
BarcodeType
withBarcodeFormat
. - Renamed type
BarcodeScannerConfiguration
toBarcodeScannerScreenConfiguration
. - Renamed types
BarcodeMappedData.barcodeImageKey
toBarcodeMappedData.BARCODE_IMAGE_KEY
andExpectedBarcode.barcodeImageKey
toExpectedBarcode.BARCODE_IMAGE_KEY
. - Renamed types
MSIPlesseyChecksumAlgorithm
toMsiPlesseyChecksumAlgorithm
,EngineMode
toBarcodeScannerEngineMode
,Gs1HandlingMode
toGs1Handling
,ValidationStatus
toFieldValidationStatus
andBarcodesExtensionFilter
toUpcEanExtensionBehavior
.
- No need for specific import from
- 🚙 Under the hood:
- Upgraded the native Scanbot Android SDK to v7.0.2.
- Upgraded the native Scanbot iOS SDK to v7.0.2.
- Upgraded nlohmann::json to 3.11.3
- Upgraded xsimd to 13.2
- Upgraded xtl to 0.8
- Upgraded xtensor to 0.26-scanbot
- Upgraded yaml-cpp to 0.8
- Upgraded Boost to 1.88
- Upgraded spdlog to 1.15.2
- iOS: Upgraded CLI11 to 2.5
- iOS: The regex filters are applied for substrings instead of the entire output string.
- Android: Upgrade OpenCV to 4.10
- Android: Updated Compile Sdk to 35
- Android: Android Jetpack Compose updated to 1.7.8
Version 6.1.0 (6 December 2024):
- 🎉 New:
- Added a new API,
getImageData
that returns a base 64 encoded representation of the image data. - 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
inDetectBarcodesOnImageArguments
. The default value is false. - 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
andDetectBarcodesOnImageArguments
. - Added the ability to display the scanned barcode's image in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModeUseCase
by specifyingExpectedBarcode.barcodeImageKey
for the expected barcode's image property. - Added a new type literal
CONFIRMED
inValidationStatus
. - Added a new type literal
NONE
inCommonFieldType
. - iOS: Added a new property
displayText
inGenericDocument.Type
andField.Type
. - 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).
- Android: Added a new property
polygonInRoot
inField
.
- Added a new API,
- 🚀 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
FindAndPickScanningModeUseCase
that never showed the expected barcodes title, but always the barcode value. - iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModeUseCase
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
SingleScanningModeUseCase
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 are 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:
- The application project must use Android Gradle Plugin version >= 8.4.0 or have the Kotlin plugin applied.
- Removed property
codeDensity
fromBarcodeScannerConfiguration
,BatchBarcodeScannerConfiguration
andDetectBarcodesOnImageArguments
. - Removed
DetectBarcodesOnImagesField
,DetectBarcodesOnImageResult
andExtractImagesFromPdfResult
interfaces. - 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 property
visible
inArOverlayFindAndPickConfiguration
to true forFindAndPickScanningMode
. - Replaced
standard
andvalidationStatus
fields withvalidationErrors
in theGS1.Element
class. - Renamed
RootTypeName
toBarcodeDocumentModelRootType
and also renamed the inherited document types. - 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.
- 🚙 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 (24 July 2024):
- 🎉 New:
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Import
startBarcodeScanner
fromcapacitor-plugin-scanbot-barcode-scanner-sdk/ui_v2
to leverage the new UI. See our updated documentation for a full set of examples and 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 new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Import
- 🚀 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: Added support of haptic feedback on capable devices.
- iOS: Improved speed and image quality of still image capturing.
- iOS: Important: The default rear camera in all scanners has been changed from the ultra-wide or wide camera to the triple or dual camera.
- Android: Changed the touch to focus square in the native camera view to a circle.
- 🐞 Bug fixes:
- Android: Fixed issue with misaligned barcode polygons on some devices with horizontal orientation.
- Android: For
BarcodeFormat.PDF_417
, a single case to generate clusters was not covered, which led to a crash. - Android:
BarcodesExtensionFilter
now accepts EAN and UPC barcodes with extensions only and all other formats without extensions.
- ⚠️ Breaking changes:
- Our Ready to Use UI v1 barcode scanners are now deprecated and it is highly encouraged to use the new RTU UI v2 barcode scanner API.
- The structure of barcode formatted results has been changed from record classes to using
GenericDocument
. See API reference for the new structure (https://api-docs.scanbot.io/barcode-scanner-sdk/capacitor/api-docs/). This change affects RTU UI v1, however, the same structures are used across RTU UI v1 and RTU UI v2. - Renamed
BarcodeFormat.RSS_14
toBarcodeFormat.DATABAR
andBarcodeFormat.RSS_EXPANDED
toBarcodeFormat.DATABAR_EXPANDED
. - 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.
- Android: Removed
BarcodeFormat.CODE_25
fromCOMMON_CODES
list. - Android: ZoomRange can be created with any input values but will be limited under the hood by internal MIN_ZOOM (x0.2) and MAX_ZOOM (x100) values.
- 🚙 Under the hood:
- Upgraded native Scanbot Android Barcode Scanner SDK to v5.1.2.
- Upgraded native Scanbot iOS Barcode Scanner SDK to v5.1.3.
- iOS: Added third-party library libzueci version 1.0.0.
- Android: Updated 3rd-party libraries: libjpeg-turbo to 2.1.5.1, libpng to 1.6.40 and libtiff to 4.6.0.
- Android: Added more rules for R8 shrinker to work adequately with AGP >= 8.
- Android: Updated AGP to 7.4.2, TargetSDK to 33 and Kotlin to 1.8.22.
Version 4.2.0 (13 May 2024):
- 🎉 First release of the Scanbot Capacitor Barcode Scanner SDK!
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.