Changelog | React Native Barcode Scanner
Version 4.2.0 (18 April 2024):
- 🎉 New:
- Added new supported Barcode types:
CODE_25
,IATA_2_OF_5
,INDUSTRIAL_2_OF_5
,MICRO_QR_CODE
,USPS_INTELLIGENT_MAIL
,ROYAL_MAIL
,JAPAN_POST
,ROYAL_TNT_POST
,AUSTRALIA_POST
,DATABAR_LIMITED
andGS1_COMPOSITE
. - Introduced Barcode Document Formats! When scanning barcodes, if a supported document is recognized, it will be parsed and included in the result.
- New functionality to extract images from PDF files! See the new API functions extractImagesFromPDF.
- Added a type literal,
BACK_WIDEST
forCameraModule
(iOS only). - Added encryption for image files. For more details please check out the section Storage Encryption.
- Added new configuration properties for Barcode Scanner RTU-UI Screen:
flashButtonTitle
barcodeValueFilter
touchToFocusEnabled
confirmationDialogConfiguration
- Added new configuration properties for Batch Barcodes Scanner RTU-UI Screen:
flashButtonTitle
barcodeValueFilter
touchToFocusEnabled
autoCancelTimeout
- iOS: Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK.
- Added new supported Barcode types:
- 🚀 Improvements:
- Improved general speed and accuracy when detecting barcodes.
- Added more control over how to handle GS1 messages in barcodes. See
gs1HandlingMode
in barcode scanner configuration. - Overall improvements for the Barcode Camera View component.
- 🐞 Bug fixes:
- Fixed potential memory leaks in all RTU-UI screens.
- iOS: Fixed a bug where the finder text hint was still showing when
viewFinderEnabled
was disabled for RTU-UI screens. - iOS: Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
- Android: Fixed
minimum1DBarcodesQuietZone
property forScanbotBarcodeCameraViewConfiguration
classical component.
- ⚠️ Breaking changes:
- Renamed
InitializationOptions
type toScanbotBarcodeSdkConfiguration
and added new properties:fileEncryptionMode
fileEncryptionPassword
- Renamed
FinderAspectRatio
type toAspectRatio
. - Renamed
BarcodeOverlayFormat
type toBarcodeOverlayTextFormat
. - Renamed
BarcodeResult
type toBarcodeScannerResult
and removedimageFileUri
from the main result. - Replaced
barcodeFilter
property in barcode scanner configurations withbarcodesExtensionFilter
. - Replaced
allowedInterfaceOrientations
property in barcode scanner configurations withorientationLockMode
. - Replaced
overlayTextFormat
property in selection overlay configuration withtextFormat
. - Replaced
gs1DecodingEnabled
property withgs1HandlingMode
. GS1 codes are now handled differently for various barcode types. Using the default optionPARSE
will give the same result as before for all barcode types, except of RSS_EXPANDED. Previously, for RSS_EXPANDED, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, choose the optionDECODE
. - Removed
barcodeImageGenerationType
property in barcode scanner configurations. - Type literals for
MSIPlesseyChecksumAlgorithm
have been modified. - Results from all API calls are modified. You will receive
ResultWrapper
that containsstatus
property anddata
optional generic property.
- Renamed
- 🚙 Under the hood:
- Upgraded native Scanbot Android Barcode Scanner SDK to v4.2.0
- Upgraded native Scanbot iOS Barcode Scanner SDK to v4.2.2
- Android: Updated version of Nameof C++ library to v0.10.3
- Android: Disabled GPU acceleration for Redmi 9 models, Samsung Galaxy Grand Prime and devices with Android older than 6.
Version 4.0.4 (23 Jan 2024)
- 🎉 New:
- Added
scanningEnabled
property in theScanbotBarcodeCameraView
native component configuration. When disabled, no barcodes will be detected, but the camera preview will still be active. Default is enabled.
- Added
- 🐞 Bug fixes:
- Fixed
finderInset
property in theScanbotBarcodeCameraView
native component configuration. For Android so far pixels were used, now these values are representing dip. - Android: Fixed
finderAspectRatio
property in theScanbotBarcodeCameraView
native component configuration
- Fixed
Version 4.0.3 (15 Dec 2023)
- 🚀 Improvements:
- The plugin is now compatible with React Native v0.73
- 🐞 Bug fixes:
- iOS: Fixed native component issue when new architecture is enabled
Version 4.0.2 (27 Oct 2023)
- 🐞 Bug fixes:
- Android: Fixed crash that occurred when the app was killed in the background while the scanner screen was open.
Version 4.0.1 (9 Oct 2023)
- 🎉 New:
- Added
licenseExpirationDate
to the SDK functiongetLicenseInfo
result.
- Added
- 🚀 Improvements:
- The SDK function
getLicenseInfo
can now also be called even when the SDK initialization has failed. - Significantly improved memory usage.
- The SDK function
- 🐞 Bug fixes:
- Fixed various memory leaks on iOS.
Version 4.0.0 (5 Oct 2023)
- 🎉 New:
- Introduced support for React Native New Architecture! The classic component
ScanbotBarcodeCameraView
is available as a Fabric Component when enabling the new architecture. Backward compatibility is still granted.
- Introduced support for React Native New Architecture! The classic component
- 🚀 Improvements:
- Android: CameraX is now used by default for Ready-To-Use UI Components. You can disable it by setting
useCameraX
tofalse
when initializing the SDK. - Improved the speed of barcode recognition for most barcode symbologies.
- Fixed false positives for Code 39 and Codabar barcodes.
- Fixed potential memory leak in all RTU-UI screens.
- Android: CameraX is now used by default for Ready-To-Use UI Components. You can disable it by setting
- ⚠️ Breaking changes:
- IMPORTANT: Increased required minimum version of React Native to 0.68
- 🐞 Bug fixes:
- iOS: Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
- 🚙 Under the hood:
Version 3.7.0 (29 Aug 2023)
- 🎉 New:
- Added support for the barcode type
MICRO_QR_CODE
. See - Added new properties to
BarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
:viewFinderEnabled
cameraZoomRange
enableCameraButtonTitle
enableCameraExplanationText
initialScanDelay
cameraPreviewMode
minFocusDistanceLock
focusLockPosition
focusLockEnabled
doubleTapToZoomEnabled
pinchToZoomEnabled
shouldAnimateZooming
- Added
autoCancelTimeout
anddelayAfterScan
toBarcodeScannerConfiguration
.
- Added support for the barcode type
- 🚀 Improvements:
- Improved per-frame accuracy for QR code detection.
- ⚠️ Breaking Changes:
- iOS: Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
- 🐞 Bug fixes:
- iOS: Fixed a bug where
automaticSelectionEnabled
was not working properly inBatchBarcodeScannerConfiguration
.
- iOS: Fixed a bug where
- 🚙 Under the hood:
- Updated the native Android Scanbot Barcode Scanner SDK to 3.7.0 (cf. changelog).
- Updated the native iOS Scanbot Barcode Scanner SDK to 3.7.0 (cf. changelog).
- Updated some third-party libraries.
Version 3.6.0 (30 May 2023)
- 🎉 New:
- Added support for the barcode type
CODE_25
, which is a variant of the Industrial-2of5 type without the checksum. See
- Added support for the barcode type
- 🚀 Improvements:
- Improved barcode scanning with new ML models.
- Substantial improvements to stacked RSS barcode scanning.
- ⚠️ Breaking Changes:
- Removed
decodeStacks1D
property fromBarcodeAdditionalParameters
. The barcode scanner now handles this automatically.
- Removed
- 🚙 Under the hood:
- Updated the native Android Scanbot Barcode Scanner SDK to 3.6.0 (cf. changelog).
- Updated the native iOS Scanbot Barcode Scanner SDK to 3.6.0 (cf. changelog).
- Updated some third-party libraries.
Version 3.5.0 (28 Mar 2023)
- 🎉 New:
- Added
decodeStacks1D
property inBarcodeAdditionalParameters
which is available in all Ready to use UI and classical components. - Added
automaticSelectionEnabled
property inSelectionOverlayConfiguration
.
- Added
- 🚀 Improvements:
- The
overlayTextFormat
property inSelectionOverlayConfiguration
now supports all formats. Please checkBarcodeOverlayFormat
enum.
- The
- 🐞 Bug fixes:
- Android: Fixed the
codeDensity
property in the classical component. - Android: Fixed the
flashEnabled
property in the classical component.
- Android: Fixed the
- 🚙 Under the hood:
- Updated the native Android Scanbot Barcode Scanner SDK to 3.5.0 (cf. changelog).
- Updated the native iOS Scanbot Barcode Scanner SDK to 3.5.0 (cf. changelog).
- Updated some third-party libraries.
Version 3.3.1 (8 Feb 2023)
- 🐞 Bug fixes:
- Fixed build errors for RN 0.70+ caused by usage of deprecated dimensions listener
- Fixed wrong default values for finder inset in
BarcodeCameraView
BarcodeCameraView
: fixed barcode detection not working after navigating back from a different page on Android
- 🚀 Improvements:
- Android: Improved the performance of the Barcode Camera View
- 🚙 Under the hood:
- Internal restructure of
BarcodeCameraView
UI - Updated Android SDK to v3.3.1.244-SNAPSHOT
- Internal restructure of
Version 3.3.0 (11 Jan 2023)
- 🎉 New:
- Added barcode formats
IATA2Of5
andIndustrial2Of5
. - Added
SelectionOverlayConfiguration
class for showing barcode detail overlays while scanning. - Added
overlayConfiguration
property of typeSelectionOverlayConfiguration
inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
for configuring the overlay UI. - Added new parameter
finderInset
of typeFinderInset
for setting the insets to Finder View inScanbotBarcodeCameraViewConfiguration
classical component. - Added Barcode Additional Parameter
codeDensity
of typeCodeDensity
in all barcode detection categories.
- Added barcode formats
- ⚠️ Breaking changes:
- Removed
finderMininmumPadding
andfinderVerticalOffset
fromScanbotBarcodeCameraViewConfiguration
. UsefinderInset
property instead. - Removed orientation enums
LANDSCAPE_LEFT
,LANDSCAPE_RIGHT
,PORTRAIT_UPSIDE_DOWN
andALL_BUT_UPSIDE_DOWN
. Please useALL
,PORTRAIT
orLANDSCAPE
instead.
- Removed
- 🚙 Under the hood:
- Updated the native Android Scanbot Barcode Scanner SDK to 3.3.1 (cf. changelog).
- Updated the native iOS Scanbot Barcode Scanner SDK to 3.3.0 (cf. changelog).
- Updated some third-party libraries.
Version 3.2.1 (13 Sep 2022):
- 🎉 New:
- Barcode Camera View Component new implementation!
- Android: Using CameraX under the hood; replaced old fragment based implementation: now the component is much more stable and also compatible with the majority of React Views
- iOS: UI and performance minor improvements
- Added
rawBytes
attribute to barcode results: it contains the unparsed raw data detected in the scanned image, as an array of bytes. - Added
textWithExtension
attribute to barcode result: if the detected barcode has an extension, it contains both the text and the extension, otherwise it contains the text only. - Added barcode filters in all components! See configuration parameter
barcodeFilters
. NOTE: while using barcodeFilters, please leavebarcodeImageGenerationType
to its default value (NONE) - Added parameters
lowPowerMode
,gs1DecodingEnabled
andmsiPlesseyChecksumAlgorithm
todetectBarcodesOnImage
- Barcode Camera View Component new implementation!
- 🐞 Bug fixes:
- Fixed bug for which some additionalParameters in barcode detection were ignored
- ⚠️ Breaking Changes:
- BarcodeResult
barcodes
attribute is now non-nullable; an empty array will now be returned whenever no barcodes can be detected - TypeScript type
ScanbotBarcodeCameraViewResult
has been removed; useBarcodeResult
instead
- BarcodeResult
Version 3.2.0 (21 Jun 2022):
- 🎉 New:
- Added new parameter
replaceCancelButtonWithIcon
inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
which allows replacing the Cancel button with a back arrow (Android only). See Barcode Scanner configuration, Batch Barcode Scanner configuration. - Added new type
GS1
in BarcodeDocumentFormat enum. See Barcode Document Format.
- Added new parameter
- 🚀 Improvements:
- Huge improvement on the speed and accuracy of 1D barcodes recognition.
- Native libraries size decreased by more than 20%
- iOS: Improved barcode image cropping.
- 🐞 Bug fixes:
- iOS: Fixed scanning issue for Barcode types
RSS_14
andRSS_EXPANDED
.
- iOS: Fixed scanning issue for Barcode types
- 🚙 Under the hood:
Version 3.1.0 (9 Feb 2022)
- 🎉 New:
- Added the ability for Scanbot SDK Core native logging! See
enableNativeLogging
inScanbotBarcodeSDKConfiguration
(Android only). - Added
allowXnnpackAcceleration
inScanbotBarcodeSDKConfiguration
which allows controlling whether the XNN pack optimizations should be used (Android only). - Added
lowPowerMode
inScanbotBarcodeSDKConfiguration
andBatchBarcodeScannerConfiguration
(Android only). - Added
cameraModule
inScanbotBarcodeSDKConfiguration
andBatchBarcodeScannerConfiguration
.
- Added the ability for Scanbot SDK Core native logging! 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.1 (19 Nov 2021)
- 🎉 New:
- Introduced
BarcodeCameraView
native component! From now on you can use it to embed our camera view directly into your react layouts! See BarcodeCameraView - Introduced force close functionality in RTU-UI components! You can use it to programmatically close the components. See closeBarcodeScanner and closeBatchBarcodeScanner
- Additional parameter
stripCheckDigits
in Barcode Scanner RTU-UI, Batch-Barcode Scanner RTU-UI and BarcodeCameraView - Added support for zooming in Batch Barcode Scanner RTU-UI. See startBatchBarcodeScanner
- Android: You can enable CameraX under the hood on Android. See
useCameraX
inInitializationOptions
- Android: GPU Acceleration will be used for Barcode Scanner RTU-UI and Batch Barcode Scanner RTU-UI. You can disable it by setting
allowGpuAcceleration
to false; seeInitializationOptions
- Introduced
- 🚀 Improvements:
acceptedDocumentFormats
now works on iOS for Batch Barcode Scanner- Improved recognition of UPC/EAN barcodes due to ink spread
- Significant performance improvements of the scanner
- All-zeros MSI Plessey barcodes are ignored now
- Android: Improved internal architecture of all RTU screens
- 🐞 Bug fixes:
- Fixed some rare crashes
- Android: Fixed
msiPlesseyChecksumAlgorithm
,stripCheckDigits
andcameraZoomFactor
parameters being ignored inBatchBarcodeScannerConfiguration
- Android: Fixed a bug for which RTU-UI does not detect any barcodes with the image generation type
VIDEO_FRAME
- 🚙 Under the hood:
- Updated the native Android Scanbot Barcode Scanner SDK to 3.0.6
- Updated the native iOS Scanbot Barcode Scanner SDK to 3.0.3
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 on barcode scanning APIs to switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used. - Re-introduced
MSI Plessey
barcode recognition (disabled by default)
- 🚙 Under the hood:
- Updated the native Android Scanbot Barcode Scanner SDK to 3.0.1
- Updated the native iOS Scanbot Barcode Scanner SDK to 3.0.0
Version 1.1.1 (1 July 2021):
- 🚀 Improvements:
- Changes to .podspec to support react-native 0.63+'s new dependency management system
- All configuration and result imports are now available from package root
Version 1.1.0 (4 May 2021):
- 🎉 New:
- Typescript Type Declarations for ScanbotBarcodeSDK functions, configurations and results!
- Introduced Batch Barcode Scanner RTU-UI component, for multiple barcodes scanning. See startBatchBarcodeScanner.
- Added support for zooming in Barcode Scanner; see the property
cameraZoomFactor
in startBarcodeScanner. - Added support for Swiss QR codes
- Document Type filters for Barcode Scanner. See startBarcodeScanner, startBatchBarcodeScanner and detectBarcodesOnImage.
🚀 Improvements:
- Significantly improved barcode scanning & detection.
- Various RTU-UI improvements.
- Introduced
minimumTextLength
,maximumTextLength
,minimum1DBarcodesQuietZone
for ITF Barcodes, andenableGS1Decoding
for CODE-128 Barcodes. See startBarcodeScanner, detectBarcodesOnImage and startBatchBarcodeScanner. - Android: memory consumption optimization.
⚠️ Breaking Changes:
- IMPORTANT: Removed support for iOS 9 and iOS 10
- Renamed
imageUri
toimageFileUri
instartBarcodeScanner
anddetectBarcodesOnImage
result - Removed
storeImages
from startBarcodeScanner. Use barcodeImageGenerationType instead. See startBarcodeScanner. - Renamed
uri
toimageFileUri
in detectBarcodesOnImage arguments. - Removed
bottomButtonsInactiveColor
andbottomButtonsActiveColor
fromBarcodeScannerConfiguration
. - Removed
storeImages
from detectBarcodesOnImage, theimageFileUri
is now returned by default, when available. - Removed
finderWidth
andfinderHeight
! Please, usefinderAspectRatio
instead, see startBarcodeScanner and startBatchBarcodeScanner.
🐞 Bug fixes:
- Many bug fixes and improvements
- iOS: Fixed an issue with uploading apps containing the Scanbot Barcode SDK (related Apple error codes ITMS-90166, ITMS-90535 and ITMS-90171).
🚙 Under the hood:
- Updated Android Scanbot Barcode SDK to version 1.7.0
- Updated iOS Scanbot Barcode SDK to version 1.11.0
Version 1.0.0 (18 Mar 2020):
- 🎉 First release.
Want to scan longer than one minute?
Generate your free "no-strings-attached" Trial License and properly test the Scanbot SDK.
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.