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 License